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的值
 
 
参考:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM