SPRING BOOT 구조

1. 레이어 별 구조 (Layered Architecture)

애플리케이션을 여러 레이어(예: controller, service, repository 등)로 나누고, 각 레이어에 해당하는 기능을 그룹화한다.

예를 들어, 모든 컨트롤러가 하나의 패키지에, 서비스는 다른 패키지에 위치한다.

2. 기능(도메인) 별 구조 (Feature-based or Domain-driven Design)

애플리케이션의 기능이나 도메인(예: 사용자, 주문, 상품 등) 별로 구성.

각 도메인 폴더 내에는 해당 도메인과 관련된 컨트롤러, 서비스, 리포지토리 등이 함께 위치

3. Setter 을 왜 쓰지 말아야하는가!?

사실 알지만

그렇다면?!

JPA 를 사용해서 어떻게 값을 update 하란말인가?!

그래서 우린 어쩔수없이 Setter 를 쓰게 되었다.