다시한번 간단히 정리
Controller : 컨트롤러는 클라이언트의 요청을 받아들이고, 해당 요청을 처리하여 응답을 반환하는 역할을 합니다. 주로 웹 애플리케이션에서 사용되며, HTTP 요청의 처리와 데이터 전달 등을 담당합니다.
컨트롤러는 사용자 인터페이스와 비즈니스 로직을 분리하기 위한 역할을 합니다.
Service : 서비스는 비즈니스 로직을 처리하고 관리하는 역할을 합니다. 컨트롤러로부터 전달받은 데이터를 가공하거나 데이터베이스와의 상호작용을 수행합니다.
주로 비즈니스 로직의 처리와 데이터 조작을 담당하며, 서비스 계층은 트랜잭션 관리, 복잡한 비즈니스 로직의 처리, 데이터 유효성 검증 등을 수행합니다.
Repository : 레포지토리는 데이터베이스와의 상호작용을 추상화하고 데이터에 접근하는 역할을 합니다.
주로 데이터베이스의 CRUD(Create, Read, Update, Delete) 작업을 처리하며, 데이터베이스와의 직접적인 연결을 피하고 JPA와 같은 ORM(Object-Relational Mapping) 기술을 사용하여 데이터를 조작합니다.