Spring bean?
Spring에서 관리되는 객체, IoC 컨테이너에서 생명주기 관리
Spring Bean의 생명주기
- 인스턴스화 (Instantiation)
- Spring 컨테이너가 Bean 정의에 따라 Bean 객체를 생성, 객체가 메모리에 할당
- 의존성 주입 (Dependency Injection)
- 초기화 (Initialization)
- Bean이 생성되고 의존성이 주입된 후, 초기화 작업을 수행,
@PostConstruct 어노테이션을 사용하거나 InitializingBean 인터페이스를 구현하여 초기화 로직을 정의, 초기화 메소드는 Bean이 완전히 준비된 후 호출
- 사용 (Usage)
- Bean이 실제 애플리케이션에서 사용, Bean의 메소드가 호출되어 비즈니스 로직을 수행
- 소멸 (Destruction)
- 애플리케이션 종료 시 Bean이 소멸되는 단계,
@PreDestroy 어노테이션을 사용하거나 DisposableBean 인터페이스를 구현하여 소멸 작업을 정의, 이 단계에서 리소스를 해제하거나 필요한 정리 작업을 수행
Spring Bean 등록 방법 3가지
- xml 설정
public class Car {
@Autowired
private Engine engine;
}
- Java config 기반
@Configuration
public class AppConfig {
@Bean
public MyClass myBean() {
return new MyClass();
}
}
- 컴포넌트 스캔
@Component
public class MyClass {
}