大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这期内容当中小编将会给大家带来有关SpringBoot 实现添加容器启动的初始化逻辑的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到成都网站制作、成都网站设计, 我们的网页设计师为您提供的解决方案。SpringBoot 启动类和应用监听器
首先,SpringBoot 启动类中可以添加应用的初始化逻辑,但是打包方式不同,添加的地方也有差异。
jar 包:使用内嵌 Tomcat 时,可以直接写在 main 函数中,且 SpringApplication.run
代码之前,容器未启动,此时无法获取 getBean
实例。war 包:外部部署时,main 函数中的方法不会被执行,可以在 configure 方法中添加初始化逻辑,此时容器未启动,无法获取 getBean
实例。
其次,就是自定义容器启动监听器类,为其添加 @Componnet
注解:
@Component public class InitContextListener implements ApplicationListener{ private static Logger logger = Logger.getLogger(InitContextListener.class); @Override public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { // 设置全局配置信息文件存储路径 String path = ClassUtils.getDefaultClassLoader().getResource("").getPath(); logger.info("onApplicationEvent 项目部署路径为:"+path); VersionManager.resourcePath = path; // TODO 应用初始化逻辑,容器此时已启动,getBean 获取实例 OK } }