
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