[우리집에 가면] 25.02.13 - JPA, Swagger, Security config, 구조

2025. 2. 13. 13:14
728x90

1. JPA 설정 및 테이블 생성

 

2. Swagger 설정

 

3. Security Config 임시 설정

 

4. 프로젝트 구조 설정

⬇️ 고민거리 

더보기

1. 계층형(레이어드) 구조

- controller, service, repository, entity, config 패키지에 모두 모아두는 구조

- 장점 : 구조가 직관적이고, SpringBoot가 특정 패키지를 스캔하도록 설정하기가 간단하다.

- 단점 : 엔티티가 많아질수록 하나의 디렉토리에 파일이 많이 쌓이고, 기능별로 묶어서 관리하기는 어렵다.

2. 도메인(기능)별 구조

- 도메인(기능) 별로 entity, service, repository를 묶어 놓는 방식

- 장점 : 기능 중심으로 파일이 묶이므로 해당 기능을 수정할 때 찾기 쉽다. 응집도가 높아짐

- 단점 : 패키지 스캔 설정 시 여러 하위 패키지를 잡아줘야 할 수도 있다. 

 

>> 나는 도메인별 구조로 선택했다. 

도메인은 이렇게 설정했다. 

  • member
  • group 
  • item
  • consumption
  • notification

또한, api 패키지를 통해 Controller, DTO 등 외부 인터페이스 레이어로 사용했다. 

domain 패키지에는 엔티티, 서비스, 레포지토리를 두어 비즈니스 로직을 담당하도록 했다. 

 

** 내일 목표 : 배포 

728x90

BELATED ARTICLES

more