Spring- @ PostConstructアノテーション

@PostConstructアノテーション

@PostConstructアノテーションSpringによって提供されていると多くの人が考えています。実際、Java独自のアノテーションです。

Javaでの注釈の説明:@PostConstructこの注釈は、非静的void()メソッドを変更するために使用されます。@PostConstructによって変更されたメソッドは、サーバーがサーブレットをロードするときに実行され、サーバーによって一度だけ実行されます。PostConstructは、コンストラクタの後、init()メソッドの前に実行されます。

 

通常、Springフレームワークで@PostConstructアノテーションを使用して、Bean初期化全体でアノテーションメソッドの順序を実行します。

コンストラクタ-> @Autowired(依存性注入)-> @PostConstruct(注釈付きメソッド)


@Configuration 
public  class BeanConfiguration { 

    @Bean 
    public ToyFactory toyFactory(){
         return  new DefaultToyFactory(); 
    } 

}

インターフェース

パブリック インターフェイスToyFactory { 
    Toy createToy(); 
}

インターフェース実装クラス

パッケージcom.sixinshuier.Initialization.servive.impl; 

import com.sixinshuier.Initialization.entity.Toy;
import com.sixinshuier.Initialization.servive.ToyFactory; 

import javax.annotation.PostConstruct; 

パブリック クラス DefaultToyFactory ToyFactoryを

    実装します{ public DefaultToyFactory(){ 
        System.out.println( "造器..." ); 
    } 

    // 1. @PostConstructに基づく注解
    @PostConstruct
     public  void init(){ 
        System.out.println( "@PostConstruct:DefaultToyFactory初始化中..." ); 
    }

    @オーバーライド
    public Toy createToy(){ 
        Toy toy = new Toy(); 
        toy.setName( "フットボール" ); 
        toy.setSize( "big" );
        おもちゃを返す; 
    } 
}

メイン

パッケージcom.sixinshuier.Initialization.main; 

import com.sixinshuier.Initialization.config.BeanConfiguration;
import com.sixinshuier.Initialization.entity.Toy;
import com.sixinshuier.Initialization.servive.ToyFactory;
import org.springframework.context.annotation.AnnotationConfigApplicationContext; 

public  class PostConstructTest { 

    public  static  void main(String [] args){
         // 创建BeanFactory 
        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
        // 注TUTORIALConfiguration Class(配置类)
        applicationContext.register(BeanConfiguration。クラス);
         // Springアプリケーションコンテキスト起動
        applicationContext.refreshを();
         // ルックアップ依存 
        ToyFactory toyFactory applicationContext.getBean =(ToyFactory。のクラス); 
        玩具玩具 = toyFactory.createToy(); 
        のSystem.out。 println( "ToyName:" + toy.getName()+ "ToySize:" + toy.getSize());
         // Springアプリケーションコンテキストを閉じる
        applicationContext.close(); 
    } 
}

出力結果

コンストラクター... 
@PostConstruct:DefaultToyFactory Initializing ... 
ToyName:Football ToySize:big

 

リファレンス:https://blog.csdn.net/qq360694660/article/details/82877222

 

おすすめ

転載: www.cnblogs.com/shix0909/p/12716449.html