기존 OrderController를 보면
OrderRepository, ProductRepository를 직접 넣어 DB 조회까지 하고 있다.
Controller가 Repository를 직접 아는 순간 3계층 구조가 깨진다.
@Transactional도 Controller 메서드에 붙어있었는데,
트랜잭션은 비즈니스 로직 단위로 관리해야 하니까 Service로 옮겼다.
Controller는 HTTP 요청 받고 Service 호출해서 응답 반환하는 것만 하면 된다.
Controller - 요청/응답 Service - 비즈니스 Repository - 데이터