왜 수동 빈 등록에서도 어노테이션을 사용하는가?
- 명시적이고 명확한 빈 정의:
- 수동 빈 등록을 통해 빈을 정의하면, 빈의 생성과 설정을 더 세밀하게 제어할 수 있습니다. 특정 빈의 생성 로직을 커스터마이즈하거나, 복잡한 초기화 작업이 필요한 경우 유용하다.
- @Configuration과 @Bean 어노테이션을 사용하면, 어떤 클래스와 메서드가 빈을 정의하고 있는지 명확하게 알 수 있다.
- 빈 설정의 중앙 집중화:
- 여러 빈을 한 곳에서 관리할 수 있다. 예를 들어, 특정 기능이나 모듈에 관련된 빈들을 한 클래스에 모아 @Configuration 클래스로 만들면, 유지보수가 용이해진다.
- 외부 라이브러리와의 통합:
- 외부 라이브러리에서 제공하는 빈을 수동으로 등록할 때 유용하다. 예를 들어, 외부 라이브러리의 클래스들은 우리가 컨트롤할 수 없기 때문에 @Component를 추가할 수 없지만, @Bean 메서드를 사용하여 스프링 컨텍스트에 등록할 수 있다.
- 유연성과 확장성:
- 특정 상황에서는 빈의 라이프사이클이나 생성 과정을 더 세밀하게 제어해야 할 때가 있다. 이럴 때 @Configuration과 @Bean을 사용하면 더 유연하게 빈을 설정하고 관리할 수 있다.
자동 빈 등록(@Component, @ComponentScan)과 수동 빈 등록(@Configuration, @Bean) 모두 어노테이션을 사용하지만, 그 목적과 용도가 다르다. 수동 빈 등록에서도 어노테이션을 사용하는 이유는 다른 어노테이션 쓰는 것들과 같이 쓰기 위함이다.
'spring > 그 외 알게 된 것' 카테고리의 다른 글
| JDBC와 JPA (0) | 2024.06.25 |
|---|---|
| URI 와 URL은 뭐가 다를까 (0) | 2024.06.18 |
| 백엔드에서 API의 의미; 왜 API개발자라고 할까 (0) | 2024.06.17 |
| JDBC들어가기전 용어 정리 (0) | 2024.06.15 |
| Spring MVC 용어 (0) | 2024.06.15 |