如何在项目启动时,加载或解析某配置文件

Posted 香吧香

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在项目启动时,加载或解析某配置文件相关的知识,希望对你有一定的参考价值。

在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件、初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作。

  在工作中遇到了项目初始数据需要跟其他项目同步的问题,也就是说在项目部署后,启动的时候就要同步另外一个项目的数据,这里写了个简单的实例,用的是监听器机制,创建一个类实现ServletContextListener 接口,实现里面的contextInitialized和contextDestroyed方法。

package com.test. listener; 
   
import javax.servlet.ServletContextEvent; 
import javax.servlet.ServletContextListener; 
//创建的类名根据需要定义,但一定要实现ServletContextListener接口 
public class WebContextListener implements ServletContextListener { 
   
       
    @Override 
    public void contextInitialized(ServletContextEvent arg0) { 
        // TODO Auto-generated method stub 
        //这里可以放你要执行的代码或方法    
    } 
       
    @Override 
    public void contextDestroyed(ServletContextEvent arg0) { 
        // TODO Auto-generated method stub 
           
    } 
   
       
}  

   其中contextInitialized方法是项目在启动初始化的时候就会执行的方法,contextDestroyed是在消亡的时候执行的方法,这里我们需要把随项目启动时执行的代码放在contextInitialized方法中。

然后在web.xml中为这个监听器添加配置,

<listener> 
  <listener-class> com.test. listener.WebContextListener</listener-class> 
</listener>

 

其中listenner-class配置的是上面定义的监听器类路径

         这样就就可以了,部署好项目,启动就可以执行contextInitialized里面的代码了。

如果你需要在项目启动的时候加载解析你自定义的配置文件,可以将加载解析配置文件的代码放在contextInitialized方法里面,这样在你项目启动的时候就可以解析你配置文件里的信息了。

以上是关于如何在项目启动时,加载或解析某配置文件的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 2 启动时加载properties文件

pycharm启动或打开项目时卡死问题解决

Spring Web项目spring配置文件随服务器启动时自动加载

idea修改文件对应资源类型加载项目启动时不启动数据链接配置

springboot打jar包部署外置配置文件

[nacos]JAR启动并加载/解析Nacos yml格式的配置文件时,报“java.nio.charset.MalformedInputException: Input length = 1 ”