본문 바로가기
DEV Heart

[Spring Boot, JPA] 프로젝트 구조 controller, domain, service, web

by 로띠 2021. 10. 25.

mvc1 타입으로 게시판 만들기를 진행하면서 조금씩 불편한 점을 느끼곤 했다.

Spring Boot로 JPA 게시판을 만들며 구조를 좀 더 정형화, 체계화 해서 하고싶다는 욕심이 생겼다.

게시판을 당장 만들기 전에 오늘부터 티스토리에 정리하며 공부부터 해보려고 한다

 

 

 

 


 

 

프로젝트 구조

 

 

 

 [ controller ]

 

    Http 요청이 들어오는 지점으로 URL으로 mapping 하여 비즈니스 로직인 service를 호출.

    view와 함께 반환한다.

 

 

 

 [ service ]

 

    비즈니스 로직.

    게시글, 댓글, 회원, 정산, 결제 등 소프트웨어에 대한 요구사항, 문제 해결 영역

    data처리를 담당하는 repository 인터페이스에서 data를 가져와 사용

 

 

 [ domain ]

 

    - Entity : DB와 매핑되는 객체 (table)

    - Repository : DB에 있는 data를 조작, 조회 / JPA 의 경우 기본 제공 메소드 save() 등을 사용가능, 직접 구현도 가능

 

 

 

 [ dto ]

 

    요청처리에 필요한 객체를 정의

    controller와 service의 요청 처리 과정에 사용되고 값을 view에서 클라이언트에게 보여준다

    

 

 


[ resource ]

 

    - static : 변함없는 정적 자원 디렉토리 ( js, css, img 등 )

    - templates : view ( html, jsp 등 thymeleaf는 html )

 

 

'DEV Heart' 카테고리의 다른 글

javax.validation @어노테이션  (0) 2021.12.27
초간단 Spring 프로젝트 생성 + dependencies 추가  (0) 2021.12.20
URL Mapping / 경로 지정방식  (0) 2021.10.08
URL Mapping  (0) 2021.10.06
[Java] enum class 상수선언  (0) 2021.09.27