[스프링] 스프링 부트 서비스 구조

김동현·2022년 10월 1일
0

스프링 부트 서비스 구조


Client = 일반적으로 프론트엔드 모듈(웹 브라우저의 화면)

Controller , Service, DAO = 스프링 부트에서 코드를 작성하는 영역

출처

어라운드허브 스튜디오 - AroundHub Studio
데이터베이스 적용하기 | Maria DB, Entity, Repository, DAO, DTO [ 스프링 부트 (Spring Boot) ]
https://www.youtube.com/watch?v=4Pvd0KrTfvE

Client -> Controller

  • 웹 브라우저에서 입력한 내용을 계층 간 데이터 값을 전달하기 위한 용도로 사용되는 객체인 DTO(Data Transfer Object) 객체에 담아 Controller로 요청한다.

Controller -> Service

  • Controller는 요청을 확인한 뒤 일치하는 Service로 DTO 객체를 보내준다.

Service -> DAO(Data Access Object)

  • 비즈니스 로직에 전반적인 내용을 처리하는 Service는 요쳥에 필요한 내용을 처리한다.
  • DTO에 있는 데이터 말고도 DB에 추가하거나 뺄 내용들을 처리하여 Entity 객체를 만든 후 DAO로 보낸다.
    (ex 회원가입 요청시 아이디 값, 비밀번호 등의 데이터가 들어온다. DB에 저장될 때는 아이디와 비밀번호 뿐만 아니라 가입 날짜 등 그 외에 내용들을 서비스 객체 처리)

Entity

  • Entity(Domain)는 DB의 테이블에 1:1로 매칭이 되는 DB와 가장 가까운 객체이다.
  • DB에 쓰일 컬럼이나 여려 엔티티 간의 연관관계를 정의한다.

DAO, Repository

  • DAO(Data Access Object)는 데이터에 접근하도록 DB접근 관련 로직을 모아둔 객체로 DB를 사용하여 데이터를 조회하거나 조작하는 기능을 전담한다.
  • Repository는 DAO와 거의 유사하지만 엔티티 객체를 보관하고 관리하는 저장소로 DB에 적용하고자 하는 CRUD를 정의하는 영역이다.


<참고>

어라운드허브 스튜디오 - AroundHub Studio, 데이터베이스 적용하기 | Maria DB, Entity, Repository, DAO, DTO [ 스프링 부트 (Spring Boot) ], https://www.youtube.com/watch?v=4Pvd0KrTfvE

profile
오늘은 오늘

0개의 댓글