프로젝트 생성
기존의 프로젝트는

이런 구조로 폴더가 구성되어 있어서, 새롭게 Spring Initializr에서 생성할 때도 이와 같은 구조로 프로젝트를 생성하고 싶었다.

일단, Gradle - Groovy, Language - Java, SpringBoot - 3.2.2, Package - Jar, Java - 17로 세팅해주었다.
그리고 Project MetaData를 설정해야하는데, 기존의 프로젝트와 폴더 조직 순서가 같았어야 했기 때문에 이 부분을 굉장히 신중하게 설정했다.
Group : com.boot
Artifact : hotel
Name : hotel
Package name : com.boot.hotel이 되도록 이렇게 세팅했다.
의존성 추가

기존 프로젝트의 의존성은 이러했는데, 이 중에서 솔직히 쓰진 않지만 추가해놓은 의존성들도 있었다.
이 부분을 좀.. 개선하고 싶었다. 정말 잘 알고 쓰고 싶었고, 필요한 때에 필요한 것을 사용하고 싶었다.


그래서 현재로서는 필요하지 않는 의존성들은 다 제껴두고 필요한 것만 일단 추가해놓았다.
- Spring Web : 웹 MVC를 사용하여 웹 어플리케이션을 개발하는 데 필요한 스프링부트의 기본적인 어노테이션 갖추고 있음, 내장형 톰캣 기본 탑재되어 있음
- Spring Data JPA : 데이터베이스를 관리하기 위한 JPA
- Spring Security : 스프링을 통해 개발할 때, 인증 및 권한 관리, 보안 관련 기능을 제공
- OAuth2 Client : 구글, 카카오, 네이버 등 소셜로그인 기능을 위해 설정
- Thymeleaf : 타임리프 템플릿 엔진 사용하여 웹 페이지 띄우려고 설정
- Lombok : 반복되는 Setter, Getter 코드를 자동 생성하여 코드의 양을 줄여줌
- Oracle Driver : Oracle 데이터베이스를 사용하기 위해 설정
- Validation : 코드 유효성 검즘을 위해 설정
- Spring Boot Devtools : 서버 재시작 않고서도 view 파일 변경 가능
Mybatis -> JPA로 마이그레이션을 할 것이기 때문에 JPA 의존성은 필수로 넣었고, Mybatis나 h2 의존성은 빼버렸다.
그리고 Thymeleaf-extras-springsecurity5 의존성은 따로 적용하지 않아도 Spring Security에서 Thymeleaf의 타임리프 태그를 지원하기 때문에, 이 의존성도 빼버렸다!
템플릿에서 헤더 푸터를 이미 만들어서 레이아웃 그룹화 작업을 해놨기에, 이를 도와주는 thymeleaf-layout-dialect 의존성은, 내가 수동으로 추가를 하려고 한다.
sources 파일 추가
css, js, 호텔 이미지 사진, 템플릿 등등을 비교해가며 이동시켰다..!
'백엔드 개발 > 플젝 리팩토링' 카테고리의 다른 글
05. [Mybatis에서 JPA로] 기능 목록 정리 및 엔티티 설계 (0) | 2024.01.28 |
---|---|
03. [Mybatis에서 JPA로] JPA를 쓰고싶은 이유 & 목표 (1) | 2024.01.23 |
02. [Mybatis에서 JPA로] 내가 Mybatis를 쓴 이유 (0) | 2024.01.17 |
01. [Mybatis에서 JPA로] 마이그레이션을 맘먹은 계기 (1) | 2024.01.16 |