Spring ApplicationListener配合-D实现参数初始化

【Spring ApplicationListener配合-D实现参数初始化】智者不为愚者谋,勇者不为怯者死。这篇文章主要讲述Spring ApplicationListener配合-D实现参数初始化相关的知识,希望能为你提供帮助。
ApplicationListener是SpringBoot的监听器,提供了四种事件:

  • ApplicationStartedEvent :spring boot启动开始时执行的事件
  • ApplicationEnvironmentPreparedEvent:spring boot 对应Enviroment已经准备完毕,但此时上下文context还没有创建。
  • ApplicationPreparedEvent:spring boot上下文context创建完成,但此时spring中的bean是没有完全加载完成的。
  • ApplicationFailedEvent:spring boot启动异常时执行事件

因此,我们可以实现该接口,在系统启动的时刻初始化我们自定义的参数。   案例场景: 项目中配置文件一般是外化的,spring boot使用yml文件,项目打包时不希望把yml文件打入jar包,而是在项目中指定yml所有目录 该目录地址和yml文件的名字,在系统启动时,通过java -jar 项目jar包 -DXXXX 指定这些参数 (动态入参) 如果不指定,则使用默认路径和文件名   ********************************** java -Dkey=value  :在虚拟机的系统属性中设置属性名/值对,运行在此虚拟机上的应用程序可用 System.getProperty("key") 得到value的值     参考: https://www.jianshu.com/p/52f4bf5dd00f

    推荐阅读