springboot(一) springApplication管理

springboot 啓動方式
//方法一
SpringApplication.run(PersonSpringbookApplication.class, args)

//方法二
SpringApplication springApplication = new SpringApplication(PersonSpringbookApplication.class);
springApplication.run(args);

//方法三
SpringApplicationBuilder applicationBuilder = new SpringApplicationBuilder();
applicationBuilder.lazyInitialization(true).sources(PersonSpringbookApplication.class).run(args);
bean懶加載
properties 配置文件中添加

properties中添加屬性 懶加載 spring.main.lazy-initialization=true [ 表示 bean當被使用的時候纔會被加載,不然不會被加載,優勢:減小內存使用,啓動速度變快;缺點:錯誤信息不能被及時看到,內存不足]java

代碼中設置
//注: 若是使用代碼的時候,properties中不能添加 spring.main.lazy-initialization 屬性
SpringApplicationBuilder applicationBuilder = new SpringApplicationBuilder();
applicationBuilder.lazyInitialization(true).sources(PersonSpringbookApplication.class).run(args);
event & listeners
  • ApplicationStartingEvent 啓動的時候調用該監聽
  • ApplicationEnvironmentPreparedEvent 環境執行完成調用
  • ApplicationPreparedEvent bean加載完成後 refresh以前調用
  • ApplicationStartedEvent refresh執行完成,命令行執行完成以前
  • ApplicationReadyEvent 項目啓動完成之後 觸發
  • ApplicationFailedEvent 項目啓動中拋出異常 觸發

使用demogit

springboot 獲取main方法中的參數
@Autowrite
public class MyBean{
    public MyBean(ApplicationArguments args){
        System.out.println(args.containsOption("debug"));
    }
}
CommandLineRunner 和 ApplicationRunner 的項目啓動調用
相關文章
相關標籤/搜索