반응형

Bean 과 Component 의 차이점

@Bean의 경우 개발자가 컨트롤이 불가능한 외부 라이브러리들을 Bean으로 등록하고 싶은 경우에 사용된다.
@Bean은 @Configuration으로 선언된 클래스 내에 있는 메소드를 정의할 때 사용한다. 이 메소드가 반환하는 객체가 bean이 되며 default로 메소드 이름이 bean의 이름이 된다.


@Bean

setter나 builder 등을 통해서

사용자가 프로퍼티를 변경해서 생성한 인스턴스를

Spring에게 관리하라고 맡기는 것이다.

개발자가 직접 컨트롤이 가능한 Class들의 경우엔 @Component
@Component 의 종류에는 @Repository @Service @Controller 로 나뉜다.


@Component는

클래스를 Spring에게 알아서

**인스턴스 생성**및**Bean 등록**하는 과정을 맡기는 것이다.

개발자가 생성한 Class에 @Bean은 선언은 안된다.

개발자가 생성한 class에 @Component 를 선언한다.

반응형

'Spring > spring framework 기본 및 이론' 카테고리의 다른 글

[Spring] @Resource @Inject @Autowired 차이  (0) 2020.05.15
@Autowired @Resource @Inject 차이  (0) 2020.05.10
localeResolver 란  (0) 2020.05.10
spring webjars란  (0) 2020.05.08
servelt context 사용  (0) 2020.05.08

+ Recent posts