| 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; | 
|         } | 
|     } | 
| } |