반응형
Controller
- MVC의 Controller
- 서비스 계층을 호출하고 결과를 뷰에 전달함
- 데이터 검증(벨리데이션)을 수행한다
- 프로젠테이션 레이어로서 웹 요청과 응답을 처리한다
- 비즈니스 로직이 구현되는 곳이 아니다! Request와 Response를 담당한다
- url에 따라 적절한 View와 mapping을 처리
- @Autowired, @Service를 사용해 service의 메소드를 사용한다
@Controller
@RequestMapping("/board")
public class BoardController {
@Autowired
private BoardService boardService;
}
Service
- 비즈니스 로직이 포함되며 트랜잭션을 시작 하는 곳이다
- 데이터 접근 계층인 Repository를 호출한다
- Repository에서 얻어온 정보를 바탕으로 Controller에 정보를 보낸다
- @Autowired, @Repository를 사용하여 Repository의 메소드에 접근한다
- DAO로 DB에 접근하고 DTO로 데이터를 넘겨 받는다
- 비즈니스 로직을 처리하여 적절한 데이터를 반환한다
@Service
@RequiredArgsConstructor
@Transactional
public class BoardService {
private final BoardRepository boardRepository;
}
Repository
- JPA를 직접 사용하는 계층
- 엔티티 매니저를 사용하여 엔티티를 저장하고 조회 할 수있다
- 실제로 DB에 접근하는 객체이다
- Service와 DB를 연결
- JPA에서는 기본적인 CRUD를 제공한다
public interface BoardRepository extends JpaRepository<Board, Long> {
}
참고 사이트
728x90
반응형
'BE > 🍃 Spring' 카테고리의 다른 글
[Spring Boot] Controller와 RestController 차이와 ResponseBody (2) | 2024.09.22 |
---|---|
Spring boot 프로젝트에 SSL 인증서 적용하기 (0) | 2024.07.15 |
[Spring Boot JPA 게시판 만들기] 3. Entity 생성 (0) | 2024.05.08 |
IntelliJ 무료 버전으로 스프링 부트 프로젝트 만들기 (1) | 2024.04.18 |
[Spring Boot JPA 게시판 만들기] 1. 환경설정 (1) | 2024.04.18 |
댓글