1 . @Controller
RequestMapping 어노테이션과 조합하여 핸들러로 사용할 수 있도록 하는 어노테이션. 즉, @RequestMapping 류의 어노테이션은 @Controller 어노테이션과 함께 사용해야만 동작한다.
2.
@Service
도메인 주도 설계의 Service 영역의 클래스임을 표시하는 어노테이션. 이 어노테이션이 붙은 곳이 비즈니스 레이어임을 명시하는 어노테이션이다.
3.
@Repository
도메인 주도 설계의 Repository 영역의 클래스임을 표시하는 어노테이션으로, PersistenceExceptionTranslationPostProcessor이 Repository 어노테이션이 붙은 클래스에서 발생한 데이터 영역의 예외를 DataAccessException 으로 변환할 수 있게 된다.