인프런 커뮤니티 질문&답변
스프링 빈 등록
작성
·
305
답변 1
0
안녕하세요, 정호빈 님. 공식 서포터즈 y2gcoder 입니다.
스프링 빈이 등록될 때, @Bean과 @Component 어노테이션을 사용하는 객체 자체가 빈으로 등록됩니다. 각 어노테이션의 역할은 다음과 같습니다:
@Bean: 이 어노테이션은 보통@Configuration으로 표시된 클래스 내에서 사용됩니다.@Bean어노테이션이 붙은 메소드가 반환하는 객체는 스프링 IoC 컨테이너에 빈으로 등록되며, 해당 메소드의 반환형에 따른 빈으로 처리됩니다. 이렇게 생성된 빈은 싱글톤 객체로 관리되며 필요한 곳에서 주입됩니다.@Component: 이 어노테이션은 클래스 수준에서 사용되며, 해당 클래스의 인스턴스가 스프링 IoC 컨테이너에 빈으로 자동 등록되도록 합니다.@Component는@Service,@Repository,@Controller와 같은 다른 스테레오타입 어노테이션의 기반이 되기도 합니다. 이러한 어노테이션이 붙은 클래스의 인스턴스가 빈으로 등록되어 필요한 곳에서 주입됩니다.
요약하면, @Bean 어노테이션이 붙은 메소드가 반환하는 객체와 @Component 어노테이션을 사용하는 객체 자체가 빈으로 등록되며, 이러한 어노테이션으로 지정된 객체를 생성하는 객체가 등록되는 것이 아닙니다.
감사합니다.






감사합니다!