기본적으로 Spring이 Bean을 생성하게 하려면 @Component를 상속받아야 한다. @Configuration, @Controller, @Service, ... 등 모두 @Component를 상속한 어노테이션이다.
@Component를 상속받지 않고 Bean 등록하게 해주는 어노테이션이 있는데 이는 @Bean이다. 이 어노테이션은 무조건 @Configuration으로 설정된 클래스에서만 등록이 되며 형식은 메소드 형태로 만들어줘야 한다.
@Configuration
public TestConfig{
@Bean
public StringBuilder stringBuilderBean(){
return new StringBuilder;
}
}
위와 같이 코드를 작성하면 StringBuilder에 대한 Bean이 만들어지게 된다.
의존성 주입을 하려면 변수명을 기본적으로 메서드 이름으로 지어줘야 한다.
이 방식은 기존의 서드 파티 클래스를 Spring 프레임워크에서 사용할 수 있게 만들기 위함이다. 즉 서드 파티 클래스, 읽기 전용으로 된 클래스에 @Component를 붙일 수 없으므로 @Bean을 활용하여 스프링에 빈으로 등록하는 것이다. 이를 통해 해당 빈에 의존성 주입을 할 수 있고 전역적으로 사용할 수 있게 된다.
cf) 서드 파티 클래스 : 개인 개발자나 프로젝트 팀, 혹은 업체등에서 개발하는 라이브러리 즉, 제 3자 라이브러리.
'Spring Boot > Spring Core' 카테고리의 다른 글
| Spring Core Bean Lazy Initialize - Devtools (1) | 2025.08.11 |
|---|---|
| Spring Core @Primary & @Qualifier (1) | 2025.08.05 |
| Spring Core Bean Lifesycle Methods (0) | 2024.07.21 |
| Spring Core Bean Scope (0) | 2024.07.21 |
| Spring Core IOC(제어 역전) (0) | 2024.07.20 |