Intellij
빈의 생성
- Spring 컨테이너는 @Component, @Service, @Repository, @Bean 등으로 정의된 빈을 스캔하여 인스턴스를 생성
의존성 주입
- 생성된 빈의 필드에 의존성을 주입, 빈이 사용할 다른 빈들이 설정됨
빈의 초기화(Initalization)
- 초기화 과정에서 여러 방식 사용
- InitializingBean 인터페이스:
afterPropertiesSet()메서드를 구현하여 초기화 로직을 정의할 수 있습니다.@PostConstruct애너테이션: 빈의 초기화 직후 호출할 메서드에 붙여 초기화 작업을 수행할 수 있습니다.init-method속성: XML 설정 파일에서 사용하며, 초기화 메서드를 지정합니다.
빈 사용
- 초기화가 완료된 빈은 애플리케이션의 비즈니스 로직을 처리하는 데 사용
빈의 소멸(destruction)
- 소멸 과정에서는 다음과 같은 방식이 사용
- DisposableBean 인터페이스:
destroy()메서드를 구현하여 빈 소멸 시 로직을 정의할 수 있습니다.@PreDestroy애너테이션: 빈 소멸 직전에 호출할 메서드에 붙여 정리 작업을 수행할 수 있습니다.destroy-method속성: XML 설정 파일에서 사용하며, 소멸 시 실행할 메서드를 지정합니다.
@PostConstruct:InitializingBean.afterPropertiesSet():@PreDestroy:DisposableBean.destroy():init-method / destroy-method:@Bean 애너테이션 사용 시 initMethod와 destroyMethod 속성으로 지정 가능합니다.초기화: @PostConstruct, InitializingBean.afterPropertiesSet(), init-method를 사용해 빈이 생성되고, 의존성이 주입된 후 실행할 로직을 정의합니다.
소멸: @PreDestroy, DisposableBean.destroy(), destroy-method를 사용해 빈이 소멸되기 직전에 실행할 로직을 정의합니다.
빈 라이프사이클 메서드를 사용하여 빈이 생성되고 소멸되는 과정에서 특정 작업을 수행할 수 있으며, 이를 통해 리소스를 적절하게 관리할 수 있습니다.