반응형
단, DTO(=VO)로 혼용해서 많이 사용한다.
상세 비교 : 2022.02.13 - [웹(Web)/백엔드(Backend)] - DTO vs VO 비교 (+Entity)
코드 동작은 아래와 같다.
요약방식으로 적겠다. 상세 내용은 따로 검색해보면서 공부하는 것이 맞는듯하다.
1. Controller(컨트롤러) : 클라이언트 요청 받아서 객체지향방식으로 가공해서 Service에 던져줌
2. Service(서비스) : 적절한 Service에 전달받음
Service : DAO를 묶어 합친 것
-> DAO(Data Access Object)로 DB에 접근
DAO => @Repository
DAO는 DB를 사용해 데이터 조회/조작하는 기능 역할을 하는 객체
DAO 사용 이유 : 커넥션 관리 및 보안성
Q1. interface를 정의하고 구현한 클래스에서 @Repository를 붙이는 이유?
확장성과 유연성이 높아지기 때문.
Q2. 이런식으로 분리하는 이유?
HTTP 요청을 Web App이 받게 되면, 쓰레드를 생성하게 됨
-> 비즈니스 로직이 DB로부터 데이터 얻어오려고 Driver,Connection생성하면 연결 多 발생함!@-@
-> 따라서 DAO 하나만을 만들어 DB 전용 객체로 사용!-!
-> DTO(VO)로 데이터 전달받음
객체의 속성과 getter, setter만 가지고 있음.
계층관 데이터 교환을 위한 Java Beans이다.
DTO는 DB에서 데이터를 얻어 Service/Controller 등으로 보낼 때 사용하는 객체.
-> View에게 반환 혹은 값만 반환
반응형
'웹(Web) > 백엔드(Backend)' 카테고리의 다른 글
Spring JPA 쿼리메소드 (0) | 2022.02.20 |
---|---|
Spring 공통속성 JPA Auditing, EntityListener, MappedSupperclass (0) | 2022.02.18 |
DTO vs VO 비교 (+Entity) (0) | 2022.02.13 |
JPA와 SpringData JPA(Repository) (0) | 2022.01.27 |
스프링핵심원리 - 객체 지향 설계 원칙/프레임워크vs라이브러리/IoC/DI (0) | 2022.01.06 |