728x90
🏓 Controller, Service, Repository 구조 분리하기
- Controller에서 모든 기능을 구현하면 안 되는 이유는 생산성이 낮아지고→유지보수성이 매우 떨어진다.
- 함수는 최대한 작게 만들고 한 가지 일만 수행하는 것이 좋다.
- 클래스는 작아야 하며 하나의 책임만을 가져야 한다.
구조를 Controller-Service-Repository 3가지 구조로 분리하고 각 클래스에 위치한 메소드는 한 가지 역할에 집중하도록 해야 한다.
🟦 Controller 클래스 | @RestController
- API 진입 지점으로서 HTTP Body를 객체로 변환해주고 뷰와 소통하는 부분
🟦 Service 클래스 | @Service
- 실질적인 비즈니스 로직 구현하는 곳
🟦 Repository 클래스 | @Repository
- DB에 직접적으로 접근하는 곳
728x90
'Web(웹)_관련 공부 모음' 카테고리의 다른 글
개념 | SQL 직접 사용하는 것의 문제, 그 해결책인 JPA (0) | 2023.07.21 |
---|---|
개념 | 스프링 컨테이너와 스프링 빈 (0) | 2023.07.18 |
Spring 서버에 MySQL DB 연결 및 API 리팩토링 (0) | 2023.07.18 |
개념 | DAO, DTO, VO 개념 비교 (0) | 2023.07.18 |
개념 | Database와 MySQL 다루기 (0) | 2023.07.17 |