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 的项目启动调用
相关文章
相关标签/搜索