목표
- 이번장에서는 프로젝트 설정, 타임리프 layout 설정, controller를 생성해보는것이 목표입니다.
개발환경
- InteliJ
- Java11
- Spring Data Jpa
- QueryDsl
- H2 Database
- Thymeleaf
- BootStrap5
프로젝트 설정
해당사이트에 접속합니다.
2. project 설정방법
- Project는 Gradle Project를 선택합니다.
- Language는 Java를 선택합니다.
- Spring Boot version은 SNAPSHOT과 M4가 안붙은 버전중에 가장 높은 버전을 선택합니다. (지금 기준은 2.7.2 버전이라 선택하였습니다.)
- Group은 jpa, Artifact는 board, Name은 board, packaging은 Jar, Java 버전은 11로 설정하였습니다.
- Dependencies 옆에 ADD DEPENDENCIES 버튼을 클릭해서 Spring Web, Thymeleaf, Spring Data Jpa, H2 Database, Lombok, Devtools를 선택해서 넣어줍니다.
- 이후 Generate Ctrl을 눌러서 알집 파일을 저장합니다.
Dependencies 설명
- Spring Web : 처음에 Spring MVC로 개발하기 위해서 사용하는 기본 설정입니다.
- Thymeleaf : spring에서 지원하는 html 템플릿 엔진입니다. 네추럴 템플릿(Natural template)으로 th:text, th:if등 타임리프 문법을 사용하면 코드로 소스보기로 보면 작성한 코드를 그대로 볼수있는 장점이 있습니다.
- Jpa : Mybatis에서는 xml에서 직접 쿼리를 작성하는식으로 개발하였다면 Jpa에서는 개발자가 class 파일을 만들고 설정을 하면 해당 설정에 따라 테이블과 연관관계들을 spring에서 자동으로 생성합니다.
- Lombok : getter, setter 등 자주 사용하는 기능들을 어노테이션을 통해 지원해주는 라이브러리 입니다.
- Spring Boot DevTools : 개발할때 도움을 주는 라이브러리 입니다. recompile index등을 사용할수 있습니다.
저는 spring start io 에서 만든 프로젝트를 c:\jpaboard에 저장하였습니다.
- 알아서 풀기를 눌러서 압축을 풉니다.
프로젝트 열기 및 서버 시작
- intelij에서 받은 프로젝트 폴더안에 build.gradle을 open 합니다.
- build가 완료될때까지 기다려줍니다.
BoardApplication.class 파일을 열어 왼쪽에 초록색 재생 버튼을 클릭합니다.
서버 시작시 invalid source release: 11 오류 대처법
https://aamoos.tistory.com/667
localhost:8080을 주소창에 입력했을때 Whitelabel 에러가 발생하면 성공입니다!
타임리프 layout 설정하는법
아래글의 2번부터 따라해서 타임리프 layout을 설정을 합니다.
https://aamoos.tistory.com/657?category=1108875
컨트롤러 생성
jpa.board 폴더안에 controller 패키지를 생성하고 boardController를 생성합니다.
boardController.java
package jpa.board.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
/**
* packageName : jpa.board.controller
* fileName : BoardController
* author : 김재성
* date : 2022-08-01
* description :
* ===========================================================
* DATE AUTHOR NOTE
* -----------------------------------------------------------
* 2022-08-01 김재성 최초 생성
*/
@Controller
public class BoardController {
@GetMapping("/")
public String list(){
return "board/list";
}
@GetMapping("/write")
public String write(){
return "board/write";
}
@GetMapping("/update")
public String update(){
return "board/update";
}
}
게시판 기본 항목인 목록화면, 글쓰기 화면, 수정화면 페이지 url을 만듭니다.
다음장에는 bootstrap을 적용하고 html 파일을 만들어보겠습니다.
다음글보기
https://aamoos.tistory.com/669
'스프링' 카테고리의 다른 글
[Spring Jpa] 3. 게시판 만들기 - H2 Database 연결하기 (InteliJ+Spring Data Jpa+QueryDsl+H2+타임리프+BootStrap5+Gradle) (0) | 2022.08.01 |
---|---|
[Spring Jpa] 2. 게시판 만들기 - bootstrap5 적용하기 (InteliJ+Spring Data Jpa+QueryDsl+H2+타임리프+BootStrap5+Gradle) (2) | 2022.08.01 |
[Spring] 서버 시작시 invalid source release: 11 오류 대처법 (0) | 2022.08.01 |
[JPA] 변경감지 기능, merge (0) | 2022.07.20 |
[Spring] InteliJ 주석 템플릿 설정 (0) | 2022.07.20 |