728x90
매번 스프링 부트를 활용해서 새로운 프로젝트를 진행할 때마다 기본 환경 구성이 너무 귀찮았습니다. 그래서 저는 제가 자주 사용하는 기술을 모아서 하나의 템플릿으로 만들어서 사용하고 있는데요, 이 프로젝트를 공유드리고자 합니다.
https://github.com/seonwoo960000/spring-boot-all-in-one
해당 프로젝트의 의존성은 다음과 같습니다.
- Web layer
- spring-boot-starter-web
- spring-boot-stater-validation: 요청 파라미터 검증
- Database layer
- spring-boot-starter-data-jpa
- liquibase-core: 데이터베이스 스키마 버저닝 및 테스트 컨테이너에 스키마 적용
- mysql-connector-j: MySQL을 위주로 하기 때문에 mysql 의존성을 활용
- testcontainers: 도커에 MySQL을 띄워서 최대한 운영환경과 비슷한 환경에서 테스트 진행이 가능
- Utility
- mapstruct
- lombok
- commons-io
- commons-lang3
데이터베이스의 스키마가 변경될 때 Intellij의 다음 기능을 활용하면 편리하게 코드에 변경분을 반영할 수 있습니다.
- JPA Buddy
- 데이터베이스의 스키마를 읽어서 entity를 만들 수 있음
- Spring Data Repository 인터페이스의 생성
- Entity와 연동할 수 있는 DTO 생성
- Liquibase에 schema 변경 반영
728x90
'Java > Spring Boot' 카테고리의 다른 글
[Spring Boot] Spring Batch Partitioning을 통해 Step을 분리해보자 (0) | 2023.07.08 |
---|---|
[Spring Boot]Spring Boot JPA는 MySQL에서 어떤 쿼리를 실행시킬까? (0) | 2022.10.29 |
[Spring Boot] @Transactional이 COMMIT을 실행하는 코드까지 (0) | 2022.08.06 |
[Spring Boot] refresh context 차근차근 따라가기 (0) | 2022.05.11 |
[Spring Boot] Bean이 살고있는 집 ApplicationContext 기능 살펴보기 (0) | 2022.05.05 |