[Spring Boot] Service Layer 분리에 대하여
·
Backend/Spring Boot & JPA
1. As-is. Service 계층의 순환 참조 Spring을 가장 처음 배우면, Web Application 5계층에 대해서 배우게 된다. 그리고 User라는 Domain에 대해 코드를 작성하면 아래 클래스들을 작성하고 시작한다. UserController UserService UserRepository UserDto 간단한 CRUD 기능만을 구현할 거라면 전혀 문제가 되지 않지만, 복잡한 Use case에 대한 비지니스 로직을 처리해야 하는 경우 Service가 Service를 호출하여 순조롭게 순환참조로 Application이 오작동 하는 상황을 마주할 수 있게 된다. 예를 들어, 내가 (처음) 구현했던 JWT을 이용해 로그아웃 과정을 수행하려면 다음 일련의 작업을 수행해야 했다. Client로부..