[文字列のラインの記事]春のブートスタートアップコンフィギュレーションの原則

いくつかの重要なイベントのコールバックメカニズム

META-INF / spring.factories設定ApplicationContextInitializer

SpringApplicationRunListener

IOC唯一の二つの容器が置かれApplicationRunner CommandLineRunnerを

プロセスを開始します。

まず、オブジェクトSpringApplicationを作成します

 

第二に、実行runメソッド

 

 

 

 

 

 

 

第三に、イベントリスナーメカニズム

META-INF / spring.factoriesの設定

ApplicationContextInitializer

パブリック  クラス   HelloApplicationContextInitializer   実装 ApplicationContextInitializer <ConfigurableApplicationContext>   { 
    @Override 
    公共  のボイド  のinitialize(ConfigurableApplicationContext ApplicationContextの){ 
   System.out.printlnは( "ApplicationContextInitializer ...初期化..." + のApplicationContext)。     
} }

 

SpringApplicationRunListener

public  class  HelloSpringApplicationRunListener  implements  SpringApplicationRunListener  {

//必须有的构造器
public  HelloSpringApplicationRunListener(SpringApplication  application,  String[]  args){

}

@Override
public void starting() { 
System.out.println("SpringApplicationRunListener...starting..."); } @Override public void environmentPrepared(ConfigurableEnvironment environment) {
Object o = environment.getSystemProperties().get("os.name"); System.out.println("SpringApplicationRunListener...environmentPrepared.."+o); } @Override public void contextPrepared(ConfigurableApplicationContext context) {
System.out.println("SpringApplicationRunListener...contextPrepared..."); } @Override public void contextLoaded(ConfigurableApplicationContext context) {
System.out.println("SpringApplicationRunListener...contextLoaded..."); } @Override public void finished(ConfigurableApplicationContext context, Throwable exception)

 

配置(META-INF/spring.factories)

org.springframework.context.ApplicationContextInitializer=\
com.atguigu.springboot.listener.HelloApplicationContextInitializer

 org.springframework.boot.SpringApplicationRunListener=\

 com.atguigu.springboot.listener.HelloSpringApplicationRunListener

 

只需要放在ioc容器中

ApplicationRunner

@Component
public  class  HelloApplicationRunner  implements  ApplicationRunner{
@Override
public  void  run(ApplicationArguments  args)  throws  Exception  {
System.out.println("ApplicationRunner...run....");
}

}

 

CommandLineRunner

@Component
public  class  HelloCommandLineRunner  implements  CommandLineRunner  {
@Override
public void run(String... args) throws Exception {
System.out.println("CommandLineRunner...run..."+  Arrays.asList(args));
}

}

おすすめ

転載: www.cnblogs.com/yanl55555/p/12092460.html
おすすめ