728x90
728x90
Spring MVC 프로젝트 폴더의 구조
Spring2023. 1. 30. 14:45Spring MVC 프로젝트 폴더의 구조

MVC 프로젝트 폴더의 구조 src/main/java 자바 파일이 모여있는 곳 (Controller, service, vo, dao, dto, mapper, api..) src/main/resources 클래스의 리소스들을 보관하는 곳 DB연결을 위한 자원, 의존성 주입을 위한 XML 파일 등 자바 코드와 관련된 모든 것들을 보관한다 src/test 테스트를 위한 자바 파일 및 리소스를 보관하는 곳 Maven Dependencies 메이븐에서 자동으로 관리 해 주는 라이브러리 폴더로 pom.xml에 작성된 라이브러리들을 자동으로 다운받아 관리한다. src 웹 관련 자원들이 담겨 있는 루트 폴더로 test는 테스트 공간이다. src/main/webapp/resources 웹에 필요한 js, css, img..

Spring MVC Project 셋팅
Spring2023. 1. 30. 11:48Spring MVC Project 셋팅

프로젝트 만들기 1. New - Other에서 legacy검색 후 Spring Legacy Project 생성 2. 프로젝트 이름을 작성하고, Templates - Spring MVC Project 선택 후 Next 3. top-level package를 정의해주면 된다. pom.xml 사용할 버전과 pom.xml에 적혀 있는 버전이 다르다면 맞춰주면 된다. pom.xml (pom : project object model) Maven의 빌드 정보를 담고 있는 파일 Maven 자바 프로젝트를 관리하는 툴 (자바 소스를 컴파일하고 패키징해서 deploy까지 자동화 해 준다.) 미리 작성된 xml 파일을 이용하여 라이브러리를 자동으로 다운하거나 프로젝트를 빌드 해 준다. 해당 작업까지 완료한 후 1. Proj..

27. 검색 기능 - 점프 투 스프링부트(게시판 만들기)
Spring2023. 1. 7. 10:4327. 검색 기능 - 점프 투 스프링부트(게시판 만들기)

해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다. 자바 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..

26. 앵커 - 점프 투 스프링부트(게시판 만들기)
Spring2023. 1. 7. 09:4826. 앵커 - 점프 투 스프링부트(게시판 만들기)

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

25. 추천 구현하기 - 점프 투 스프링부트(게시판 만들기)
Spring2023. 1. 6. 23:1125. 추천 구현하기 - 점프 투 스프링부트(게시판 만들기)

해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다. 자바 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 ..

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

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

24. 게시글 수정 삭제 - 점프 투 스프링부트(게시판 만들기)
Spring2023. 1. 6. 22:3324. 게시글 수정 삭제 - 점프 투 스프링부트(게시판 만들기)

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

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

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

728x90
728x90
image