꾸준히 재밌게
728x90
728x90
article thumbnail
27. 검색 기능 - 점프 투 스프링부트(게시판 만들기)
Spring 2023. 1. 7. 10:43

해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다. 자바 8, 스프링부트 2.7.7버전 입니다. [ 검색 기능 ] Specification 여러 테이블에서 데이터를 검색해야 할 경우에는 JPA가 제공하는 Specification 인터페이스를 사용하는 것이 편리하다. Specification을 어떻게 사용할 수 있는지 예제를 통해서 알아보자. Specification Specification은 보다 정교한 쿼리의 작성을 도와주는 JPA의 도구이다. https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#specifications QuestionService에 search 메서드를 추가하고, getL..

article thumbnail
26. 앵커 - 점프 투 스프링부트(게시판 만들기)
Spring 2023. 1. 7. 09:48

해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다. 자바 8, 스프링부트 2.7.7버전 입니다. [ 앵커 ] 답글을 작성하거나 수정한 후 또는 추천 시 항상 페이지 최상단으로 스크롤이 이동되고 있다. 앵커(anchor) 태그를 이용해 해당 앵커 클릭 시 앵커로 스크롤이 이동되게 만들어 보자. question_detail.html (...생략...) (...생략...) 답변이 표시되는 구역에 답변 고유의 id값을 가진 앵커를 추가했다. AnswerController 컨트롤러가 answer의 id를 리다이렉트하도록 하자. (... 생략 ...) public class AnswerController { (... 생략 ...) @PreAuthorize("isAuthen..

article thumbnail
25. 추천 구현하기 - 점프 투 스프링부트(게시판 만들기)
Spring 2023. 1. 6. 23:11

해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다. 자바 8, 스프링부트 2.7.7버전 입니다. 엔티티 변경 질문, 답변의 추천은 추천한 사람(SiteUser 객체)을 질문, 답변 엔티티에 추가해야 한다. Question (... 생략 ...) import java.util.Set; import jakarta.persistence.ManyToMany; (... 생략 ...) public class Question { (... 생략 ...) @ManyToMany Set voter; } Answer (... 생략 ...) import java.util.Set; import jakarta.persistence.ManyToMany; (... 생략 ...) public ..

article thumbnail
추가기능 1. 조회수 구현하기 - 점프 투 스프링부트(게시판 만들기)
Spring 2023. 1. 6. 22:53

해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다. 자바 8, 스프링부트 2.7.7버전 입니다. 조회수 구현하기 조회수는 보통 게시판 목록 페이지, 즉 우리가 만든 question_list 템플릿에서 구현되어야 할 것이다. 우선 조회수가 보여질 장소를 마련해주자. "조회수" 라는 것은 해당 글을 조회할 때마다 올라가야 할 것이다. 우리가 만든 게시판의 "글"은 Question이다. 즉 Question 엔티티에 조회수에 해당하는 필드가 있어야 할 것이다. 또한 조회수 자체도 리파지토리에 저장되어야 하기 때문에, 서비스에서 이를 저장하고 조회수가 증가하게 만들어야 할 것이다. Question.java @Column(columnDefinition = "integer ..

article thumbnail
24. 게시글 수정 삭제 - 점프 투 스프링부트(게시판 만들기)
Spring 2023. 1. 6. 22:33

해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다. 자바 8, 스프링부트 2.7.7버전 입니다. 수정 일시 Question과 Answer 엔티티에 modifyDate필드를 추가해 DB에 컬럼을 추가시키자 private LocalDateTime modifyDate; 질문 수정 작성한 질문을 수정하려면 질문 상세 화면에서 "수정" 버튼을 클릭하여 수정 화면으로 진입해야 한다. 질문 수정 버튼 question_detail에 질문 수정버튼을 추가하자. (... 생략 ...) (... 생략 ...) #authentication.getPrincipal().getUsername() == question.author.username을 적용하였다. 로그인한 사용자와 글쓴이가 다..

article thumbnail
23. 작성자(Author) 표시 - 점프 투 스프링부트(게시판 만들기)
Spring 2023. 1. 1. 21:23

해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다. 자바 8, 스프링부트 2.7.7버전 입니다. 질문 목록 question_list.html 템플릿에 글쓴이를 표시해 보자. (... 생략 ...) 번호 제목 글쓴이 작성일시 (... 생략 ...) 글쓴이 항목을 추가했다. 그리고 th 엘리먼트를 가운데 정렬하도록 tr 태그에 text-center 클래스를 추가하고 제목의 너비가 전체에서 50%를 차지하도록 style="width:50%"도 지정해 주었다. for 문에도 다음처럼 글쓴이를 적용하자. question.list_html (... 생략 ...) (... 생략 ...) ... 엘리먼트를 삽입하여 질문의 글쓴이를 표시했다. 작성자 정보 없이 저장된 이전의 질..

article thumbnail
22. 작성자(Author) 생성 - 점프 투 스프링부트(게시판 만들기)
Spring 2023. 1. 1. 21:12

해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다. 자바 8, 스프링부트 2.7.7버전 입니다. Question 속성 추가 Question 엔티티에 author 속성을 추가하자. (... 생략 ...) import javax.persistence.ManyToOne; import com.example.board.user.SiteUser; (... 생략 ...) public class Question { (... 생략 ...) @ManyToOne private SiteUser author; } 여러개의 질문이 한 명의 사용자에게 작성될 수 있으므로 @ManyToOne 관계가 성립한다. Answer 속성 추가 Answer 엔티티에도 추가해주자. (... 생략 ...)..

21. 로그인 / 로그아웃 - 점프 투 스프링부트(게시판 만들기)
Spring 2023. 1. 1. 14:04

해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다. 자바 8, 스프링부트 2.7.7버전 입니다. 로그인 구현하기 회원 가입 단계에서 SITE_USER 테이블에 회원 정보를 저장했다. SITE_USER 테이블에 저장된 사용자명(사용자 ID)과 비밀번호로 로그인을 하려면 복잡한 단계를 거쳐야 한다. 하지만 스프링 시큐리티를 사용하면 이 단계를 보다 쉽게 진행할 수 있다. 로그인 URL 등록 먼저 스프링 시큐리티에 로그인 URL을 등록하자. SecurityConfig.java package com.example.board.practice; (... 생략 ...) public class SecurityConfig { @Bean SecurityFilterChain fil..

728x90
728x90