728x90
Bean 이란?
Spring IoC(Inversion of Control, 제어의 역전. 제어권이 뒤바뀜. 객체 간의 의존성을 이어주는 역할.) 컨테이너가 관리하는 자바 객체이다.
new 연산자로 어떤 객체를 생성했을 때, 그 객체는 빈이 아니라 ApplicationContext.getBean으로 얻을 수 있는 객체이다.
(ApplicationContext가 만들어서 담고 있는 객체를 의미한다)
Bean 등록 방법
Component Scanning
@ComponentScan, @Component 어노테이션을 사용해서 등록한다.
Spring IoC 컨테이너가 IoC 컨테이너의 생성하고 그 안에 빈을 등록할 때 사용하는 인터페이스를 라이프사이클 콜백이라고 한다.
라이프사이클 콜백 중에는 @Component를 찾아서 해당 어노테이션이 붙어있는 모든 클래스의 인스턴스를 생성해 빈으로 등록하는 작업을 수행하는 어노테이션 프로세스가 있다.
(Spring Boot는 @ComponentScan을 사용)
Bean 설정 파일에 직접 등록
@Component 어노테이션 말고 빈 설정 파일에 직접 빈으로 등록 가능
빈 설정 파일은 자바 설정 파일로 작성 가능하다.
자바 파일 설정은 자바 클래스를 생성해서 작성할 수 있으며, 일반적으로 ~~Configuration이라 명명한다.
클래스에 @Configuration을 붙이고 @Bean을 사용해 직접 정의한다.
@Configuration을 타고 들어가면, @Component를 사용하고 있는 것을 확인할 수 있다.
Reference
728x90
'TIL' 카테고리의 다른 글
포트 / 인바운드 규칙 / 아웃바운드 규칙 (0) | 2022.08.24 |
---|---|
온프레미스(On-premise)란?? (0) | 2022.08.24 |
NGINX 사용 이유 (0) | 2022.08.24 |
웹서버, WAS(Web Application Server) (0) | 2022.08.24 |
Apache Kafka란? (0) | 2022.08.24 |