Service, Controller 와 Repository 🐸
계층형 아키텍처
- @Controller(프레젠테이션 레이어) : 웹 요청과 응답을 처리함
- @Service (서비스 레이어) : 내부에서 비즈니스 로직 처리
- @Repository(퍼시스턴스 레이어) : DB나 파일같은 외부 I/O 작업을 처리
⭐ Layered Architecture를 지킴으로써 각 계층 역할을 분리하여 유지보수가 쉽도록!
Service 🐸
내용
1. UserService는 사용자와 관련된 비즈니스 로직을 처리하는 서비스 계층의 클래스
2. UserRepository는 데이터베이스와 직접적으로 소통하며 CRUD(Create, Read, Update, Delete) 작업을 수행하는 레포지토리 계층의 인터페이스
DAO와 DTO 🐸
내용
1. DAO(Data Access Object)
- DAO는 데이터베이스의 데이터에 접근하는 객체 (=@service)
- DAO는 데이터베이스에 직접 접근하는 로직과 비즈니스 로직을 분리하기 위해 사용
- DAO는 데이터베이스의 CRUD(Create, Read, Update, Delete) 연산을 수행하는 메소드들을 포함
2. DTO(Data Transfer Object)
- DTO는 계층간 데이터 교환을 위한 객체
- 예를 들어, 프레젠테이션 계층(웹 페이지나 앱의 UI)에서 비즈니스 계층(서버의 백엔드 로직)으로 데이터를 전달할 때, 이 데이터를 DTO로 묶어서 전달 => "REST API"
- DTO는 보통 여러 개의 데이터 필드를 포함하고 있으며, getter와 setter 메소드를 통해 접근
이 두 용어는 객체 지향 프로그래밍과 MVC(Model-View-Controller) 아키텍처, 그리고 계층형 아키텍처 등에서 주로 사용됩니다.
728x90
'Back-End > Spring boot' 카테고리의 다른 글
[JAVA][Spring]관리자 페이지 만들기 (1) | 2023.11.01 |
---|---|
[JAVA][Spring] 본인 인증, 비밀번호 변경하기(2) (2) | 2023.10.27 |
[JAVA][Spring] 로그인, 회원 가입 (1) (0) | 2023.10.27 |