inblog logo
|
LHS's Study Space
    스프링부트

    [스프링 부트] 6. 레이어 설계

    lhs's avatar
    lhs
    Nov 17, 2024
    [스프링 부트] 6. 레이어 설계
    Contents
    1. BoardController2. BoardService3. BoardRepository
    notion image

    1. BoardController

    @Controller public class BoardController { private BoardService boardService = new BoardService(); public BoardController() { System.out.println("BoardController"); } }
    • 요청과 응답의 책임을 가지고 있는 컨트롤러 클래스
    • 비즈니스 로직은 BoardService에 위임하며, 이 클래스는 BoardService에 의존한다.
    • @Controller 어노테이션은 @Component를 포함하여 컴포넌트 스캔을 통해 빈으로 등록되며, 컨트롤러 역할을 수행하는 클래스임을 나타낸다.

    2. BoardService

    @Service public class BoardService { private BoardRepository boardRepository = new BoardRepository(); public BoardService() { System.out.println("BoardService"); } }
    • 비즈니스 로직(트랜잭션)의 책임을 가지고 있는 서비스 클래스
    • DB 상호작용은 BoardRepository에 위임하며, 이 클래스는 BoardRepository에 의존한다.
    • @Service 어노테이션은 @Component를 포함하여 컴포넌트 스캔을 통해 빈으로 등록되며, 비즈니스 로직을 담당하는 클래스임을 나타낸다.
     

    3. BoardRepository

    @Repository public class BoardRepository { public BoardRepository() { System.out.println("BoardRepository"); } }
    • DB 상호작용의 책임을 가지고 있는 Repository 클래스
    • CRUD 기능이 구현된다.
    • @Repository 어노테이션은 @Component를 포함하여 컴포넌트 스캔을 통해 빈으로 등록되며, 데이터 엑세스를 수행하는 클래스임을 나타낸다.
     
    Share article
    Contents
    1. BoardController2. BoardService3. BoardRepository

    LHS's Study Space

    RSS·Powered by Inblog