애플리케이션 시작 지점과 끝 지점에 어떤 작업을 하고 싶다!
ex) 네트워크의 시작과 끝
ex) 데이터베이스의 시작과 끝
→ 빈 생명주기 콜백 개념을 이해하고 활용해보자
코드 실행을 위해서 기본적인 환경을 세팅하겠습니다.
public class BeanLifeCycleTest {
@Test
public void lifeCycleTest() {
ConfigurableApplicationContext ac = new
AnnotationConfigApplicationContext(LifeCycleConfig.class);
NetworkClient client = ac.getBean(NetworkClient.class);
ac.close(); //스프링 컨테이너를 종료, ConfigurableApplicationContext 필요
}
@Configuration
static class LifeCycleConfig {
@Bean
public NetworkClient networkClient() {
NetworkClient networkClient = new NetworkClient();
networkClient.setUrl("<http://hello-spring.dev>");
return networkClient;
}
}
}