Spring/Spring 이론

Spring 이론 :) Spring Web Layer, DAO, DTO

euncheol kim 2022. 4. 25. 19:42

 

 

goal

DAO, DTO, 스프링 웹 계층에 대해서 이해한다.

 

DTO

  • 각 계층간의 데이터를 교환하기 위한 Java Object
  • 데이터를 레이어 간에 전달하는 목적을 가지며 객체의 속성과, getter, setter만 가지고 있다.

 

DAO(Data Access Object)

  • DB에 접근하는 객체
    • 즉, DB에 접근하여 DB의 데이터에 접근한다. (DB의 데이터에 접근하는 객체)

 

 

1 ] Spring Web Layer (스프링 웹 레이어)


계 층 설 명
Web Layer
(Presentation Layer)
- 브라우저상의 웹 클라이언트의 요청 및 응답을 처리한다.
- Service Layer, Repository Layer의 Exception을 처리한다.
@Controller 어노테이션을 사용하여 작성된 Controller 클래스가 이 계층에 속하게 된다.
Service Layer
(Business Layer)
- 비즈니스 로직(개발자 코드) 처리와 비즈니스와 관련된 도메인 모델의 적합성 검증
- 트랜잭션 관리
- Web Layer와 Data Access Layer가 서로 통신하지 않도록 한다. (연결역할)
- Service 인터페이스와 @Service 어노테이션을 사용하여 작성된 Service 구현 클래스가 이 계층에 속한다.
Repository Layer
(Data Access Layer)
- ORM(Mybatis, Hibernate를 주로 사용하는 계층)
- DAO 인터페이스와 @Repository 어노테이션을 사용하여 작성된 DAO 구현 클래스가 이 계층에 속한다.
- Database에 data를 CRUD하는 계층
Domain Model Layer - DB의 테이블과 매칭될 클래스
- Entity클래스라고 불린다. (어노테이션 존재하는걸로 알고 있음)