본문 바로가기
Spring

Spring - @Component와 @Service, @Controller의 차이

by 밍상 2022. 5. 12.

@Component

Spring에서 관리되는 객체임을 표시하기 위해 사용하는 가장 기본적인 어노테이션이다. 주로 DI를 위해 사용된다.

 

@Controller

WebMVC 코드에 사용되는 어노테이션이다. @RequestMapping 어노테이션을 해당 어노테이션 밑에서만 사용할 수 있다.

 

@Service

비즈니스 로직이나 repository layer를 호출하는 함수에 사용된다. 하지만 @Component에 추가된 기능은 없다.

 

@Repository

Annotation based Configuration, @Repository의 작업은 플랫폼 별 예외를 잡아서 Spring의 통합 검사되지 않은 예외 중 하나로 다시 던지는 것입니다.

 

@Service와 @Component의 기능상 차이는 없지만 관점에 더 연관성을 부여할 수 있다는 장점이 있다.

비슷한 의미에서 코드 가독성이 좋아진다는 장점이 있다.

'Spring' 카테고리의 다른 글

Spring - @Autowired를 권장하지 않는 이유  (0) 2022.05.12
Spring - RestTemplate  (0) 2022.03.11
@RequestParam와 @PathVariable은 무엇이 다른가?  (0) 2021.11.05
Spring - AOP  (0) 2021.09.28
Spring - 빈 등록  (0) 2021.09.27