숙명여대 멋사 아기사자 이서현🦁
2학기 2주차 과제 <스프링 jpa 구조에 대한 보고서 작성하기>
- 각 계층의 기능과 역할
- controller : 가장 바깥 부분에 위치함. 요청과 응답을 처리해준다. 개발자가 직접 개발하는 컴포넌트로, httprequest를 개발자가 처리할 수 있도록 개발하는 컴포넌트. 해당 요청 url에 따라 적절한 view와 mapping을 처리한다. @Autowired Service를 통해 service의 메소드를 이용한다. 적절한 Dto를 담아서 client애개 전달함
- Service : 중간에 위치한 부분. 실제로 중요한 작동이 많이 일어나는 부분. update는 service 부분에 작성한다. 비즈니스 로직을 수행하는 컴포넌트. DAO로 db애 접근하고, DTO로 데이터를 전달받은 다음 비즈니스 로직을 처리해 적절한 데이터를 반환함
- Repository : 가장 안쪽에 위치. 데이터베이스와 맞닿아있다
- DTO를 사용하는 이유
- DTO 기법을 사용할 경우, 중요한 정보를 노출시키지 않고 두 시스템간 통신을 원활하게 촉진할 수 있다.
- View Layer와 DB Layer의 역할을 분리하기 위하여
- entity 객체의 변경을 피하기 위하여
- 도메인 모델링을 지키기 위하여