Bean lifecycle


コンテナ管理beanのライフサイクルは、次のとおりです.
オブジェクトの作成→依存関係の設定→初期化→破棄
スプリングコンテナが初期化されると、設定情報に基づいて空のオブジェクトが作成され、依存関係が確立されます.
依存設定が完了すると、空のオブジェクトは指定したメソッドを呼び出して初期化されます.
コンテナが閉じると、空のオブジェクトは指定したメソッドを呼び出して空のオブジェクトの消失を処理します.
// 1. 컨테이너 초기화
ApplicationContext context = new AnnotationConfigApplicationContext(DaoFactory.class);
// 2. 컨테이너 사용
UserDao dao = context.getBean("userDao", UserDao.class);
// 3. 컨테이너 종료
context.close();      
  • 空のオブジェクトは、SpringのInitializingBean、DisposableBeanインタフェースを介して初期化および破棄方法を実装できます.
  • public interface InitializingBean {
        void afterPropertiesSet() throws Exception;
    }
    public interface DisposableBean{
        void destroy() throws Exception;
    }
  • Javaメソッド実装,@Bean宣言メソッド
  • @Bean(initMethod="connectDB", destroyMethod="commit")
    reference : https://velog.io/@fortice/Spring-%EB%B9%88-%EB%9D%BC%EC%9D%B4%ED%94%84%EC%82%AC%EC%9D%B4%ED%81%B4-%EC%8A%A4%EC%BD%94%ED%94%84 , https://devlog-wjdrbs96.tistory.com/321