| New file | 
|  |  |  | 
|---|
|  |  |  | package com.dy.common.webListener; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dy.common.util.Config; | 
|---|
|  |  |  | import com.dy.common.util.ConfigProperties; | 
|---|
|  |  |  | import jakarta.servlet.ServletContext; | 
|---|
|  |  |  | import jakarta.servlet.ServletContextEvent; | 
|---|
|  |  |  | import jakarta.servlet.ServletContextListener; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.io.InputStream; | 
|---|
|  |  |  | import java.net.URL; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | public class ConfigListener implements ServletContextListener { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // | 
|---|
|  |  |  | public static final String CONFIGFILENAMES = "configFileNames" ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void contextInitialized(ServletContextEvent event) { | 
|---|
|  |  |  | ServletContextListener.super.contextInitialized(event); | 
|---|
|  |  |  | ServletContext con = event.getServletContext(); | 
|---|
|  |  |  | this.init(con); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void contextDestroyed(ServletContextEvent event) { | 
|---|
|  |  |  | ServletContextListener.super.contextDestroyed(event); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 解析系统配置 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private boolean init(ServletContext con){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | InputStream in = this.getClass().getResourceAsStream("/config/config.properties") ; | 
|---|
|  |  |  | if(in == null){ | 
|---|
|  |  |  | throw new Exception("未找到配置/config/config.properties属性配置文件名称!") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ConfigProperties.init(in, false); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String configFileName = con.getInitParameter(CONFIGFILENAMES); | 
|---|
|  |  |  | if(configFileName == null || configFileName.trim().equals("")){ | 
|---|
|  |  |  | throw new Exception("未配置config类文件名称!") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String confs[] = configFileName.split(","); | 
|---|
|  |  |  | String conf = null ; | 
|---|
|  |  |  | for(int i = 0 ; i < confs.length ; i++){ | 
|---|
|  |  |  | conf = confs[i].trim() ; | 
|---|
|  |  |  | if(conf != null && !conf.equals("")){ | 
|---|
|  |  |  | URL configFileURL = null; | 
|---|
|  |  |  | configFileURL = ConfigListener.class.getResource("/config/" + conf); | 
|---|
|  |  |  | if(configFileURL == null){ | 
|---|
|  |  |  | configFileURL = ConfigListener.class.getResource("/" + conf); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Config.getInstance().init(configFileURL) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | System.out.println("系统启动时,初始化配置出错 !"); | 
|---|
|  |  |  | System.out.println(e.getMessage()); | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|