初期化方法及び豆などの破壊の方法を達成するために、容器は3つの方法が春

  コンテナ管理のBeanのライフサイクル、我々は、初期化や破壊方法をカスタマイズすることができ、時間の現在のライフサイクルへのBeanコンテナで初期化し、破壊する方法私たちの習慣を呼び出すこと。

  ここで初期化し、豆のデモンストレーションを破壊する3つの方法があります。

  まず、にinitMethod @Bean自身の注釈を使用して()とdestroyMethodを()。

  第二、およびInitializingBean DisposableBeanインターフェースafterPropertiesSetを(達成)および破壊()メソッド。

  (コンテナがBeanを破壊する前に、私たちは仕事をきれいにしましょう)と@PreDestroy;第三に、あなたはPostConstruct(初期化メソッドを実行するために割り当てが完了した豆や財産に作成)@、JSR250を使用することができます

パブリック クラスの車{
     プライベート int型のID。

    公共 INT のgetId(){
         戻りID。
    } 

    公共 ボイド SETID(int型のID){
         この .ID = ID。
    } 

    パブリックカー(){ 
        System.out.printlnは( "カーコンストラクタ....." )。
    } 
    公共 ボイド  のinit()
    { 
        System.out.printlnは( "カーINIT ....." )。
    } 
    公共 ボイドDestoryは()
    { 
        System.out.printlnは("カーDestoryは....." ); 
    } 
}
パブリック クラス実装InitializingBean、DisposableBean {
     パブリックキャット(){ 
        System.out.printlnは( "猫构造方法を......" )。
    } 

    @Override 
    公共 ボイドは(破壊)スロー例外{ 
        するSystem.out.println( "猫销毁方法" )。
    } 

    @Override 
    公共 ボイド afterPropertiesSet()がスロー例外{ 
        するSystem.out.println( "猫初始化方法を......" )。
    } 
} @Configuration
 
 
クラス犬{パブリック

パブリック犬(){
System.out.printlnは(「犬......構築」);
}

//オブジェクト作成および割り当てられたコールの後
@PostConstruct
公共ボイドのinit()
{
System.out.printlnは( ) "犬..... INITを@PostConstruct";
}
@PreDestroy
公共ボイドDestoryは()
{
System.out.printlnは( "犬Destoryは@PreDestroy .....");
}
。@import(犬のクラス
@Configuration
 パブリック クラスCONFIG1 { 

    @Bean(にinitMethod = "INIT"、destroyMethodをは= "Destoryは" 公共カー車(){
         返す 新しい)(カーを。
    } 
    @Bean 
    公共猫ネコ(){
         戻り 新しい  )(猫、
    } 
}
パブリック クラスアプリ{
     公共 静的 ボイドメイン(文字列[]引数){ 
        AnnotationConfigApplicationContextコンテキスト = 新しい AnnotationConfigApplicationContext(CONFIG1。クラス)。
        文字列[] beanDefinitionNamesの =のcontext.getBeanDefinitionNames()。
        (文字列N:beanDefinitionNames)
        { 
            System.out.printlnは(N)
        } 
        context.close()。
    } 
}

結果:

犬は......構築
.....犬のinit @PostConstructを
 41:13を29.489 [メイン] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory -シングルトンBeanの車のの共有インスタンスの作成
カーコンストラクタ。 .... 
車のinit .....
 13:41:29.522 [メイン] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory -シングルトンBeanの猫の共有インスタンスの作成
猫构造方法を...... 
猫初始化方法...... 
org.springframework.context.annotation.internalConfigurationAnnotationProcessor 
org.springframework.context.annotation.internalAutowiredAnnotationProcessor 
org.springframework.context.annotation.internalCommonAnnotationProcessor  
org.springframework.context.event.internalEventListenerProcessor
org.springframework.context.event.internalEventListenerFactory
CONFIG1 
com.yuan.beancycle.model.Dogの
車の
 13:41:29.577 [メイン] DEBUG org.springframework.context.annotation.AnnotationConfigApplicationContext -閉会org.springframework.context.annotation.AnnotationConfigApplicationContext@544a2ea6は、月8月5日13で開始しました:41:29 CST 2019 
切断ターゲットVMから、アドレス: '127.0.0.1:64811'、輸送: 'ソケット' 
猫销毁方法
カーDestoryは..... 
犬Destoryはの@PreDestroy .....

 

おすすめ

転載: www.cnblogs.com/mingyuan1031/p/11302488.html