◇ PART · MVC

Service 계층

Spring 기초
SMHRD

학습 목표

1. 문제

컨트롤러에 SQL 을 직접 쓰면 안 되는 이유 — 책임 분리.

2. 새 도구

Service — 메인 셰프: 주문(Controller 호출)을 받아 실제 요리(비즈니스 로직)를 책임지는 계층. 트랜잭션도 여기.

3. 코드

@Service public class BoardService { @Autowired private BoardMapper mapper; // DAO 주입 @Transactional public void writeWithFile(Board b, MultipartFile file) { mapper.insert(b); // 글 저장 fileService.save(file); // 파일 저장 // 둘 중 하나 실패하면 롤백 } }

4. 정리

5. Before / After

전 차시

컨트롤러에 SQL 을 직접 쓰면 안 되는 이유 — 책임 분리.

이번 차시

비즈니스 로직이 어느 계층에 살아야 하는지 안다.

학습 확인 체크리스트