//方法一 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);
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);
ApplicationStartingEvent
啓動的時候調用該監聽ApplicationEnvironmentPreparedEvent
環境執行完成調用ApplicationPreparedEvent
bean加載完成後 refresh以前調用ApplicationStartedEvent
refresh執行完成,命令行執行完成以前ApplicationReadyEvent
項目啓動完成之後 觸發ApplicationFailedEvent
項目啓動中拋出異常 觸發使用demogit
@Autowrite public class MyBean{ public MyBean(ApplicationArguments args){ System.out.println(args.containsOption("debug")); } }