스프링 프레임워크는 어노테이션을 이용해서 객체를 생성할 수 있습니다. @Component @Controller @Service @Repository 중 하나를 class 명 앞에 붙여주면 됩니다. 네 개의 어노테이션 모두 객체를 만들어주는 기능을 수행합니다. 다만 조금씩 기능의 차이가 있습니다. 각 어노테이션의 특징을 간단히 정리해보겠습니다.
@Component
객체를 만드는 가장 기본적인 어노테이션입니다. 이 어노테이션에서 세부적인 기능이 추가되고 특화된 형태가 @Controller @Service @Repository라고 보면 됩니다.
@Controller
이름에서도 알 수 있듯 MVC 패턴에서 컨트롤러 역할을 하는 클래스에 붙여 줍니다. @RequestMapping를 사용할 수 있다는 특징이 있습니다.
@Service / @Repository
@Service / @Repository는 MVC 패턴이 비즈니스 로직을 처리하는 과정을 떠올리면 됩니다. Controller는 Service - dao를 호출하며 모델에 값을 저장합니다.
@Service는 service 클래스에 사용됩니다. service 클래스라 하면, 보통 작업을 수행하는 용도의 클래스를 의미합니다.
@Repository는 dao 클래스에 붙입니다.
결론적으로 @Controller @Service @Repository는 MVC 패턴에 맞게 사용되는 특화된 어노테이션이고 그 외에는 @Component를 사용한다고 보면 되겠네요.
반응형
'WEB' 카테고리의 다른 글
[Spring / 스프링] 파일 다운로드 구현 | AbstractView | ApplicationContextAware (0) | 2021.08.09 |
---|---|
[Spring / 스프링] MVC 패턴 작동 순서 | 처리 과정 (0) | 2021.08.06 |
[Spring / 스프링] AOP | 관점지향이란 | 사용법 (0) | 2021.08.01 |
[Spring / 스프링] DI | 의존성 주입 | IoC 컨테이너 | 사용법 (0) | 2021.07.30 |
[JavaScript] jQuery - 검색어 자동완성(Autocomplete) 오류 | 자동 선택되는 현상 (0) | 2021.07.28 |