Linster_1:监听器
要求服务器启动加载applicationContext.xml文件,通过反射Linster_1.class类获取路径
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans> <bean id="MarketService" class="com.test.crm.service.impl.MarketServiceImpl" /> <bean id="NoteActService" class="com.test.crm.service.impl.NoteActServiceImpl" /> </beans> |
路径:
public class Linster_1 implements ServletContextListener,ServletRequestListener,HttpSessionListener{ @Override public void contextInitialized(ServletContextEvent event) { /* * 服务器启动创建上下文对象,只创建一个 * 关闭销毁 */ try { System.out.println("上下文对象创建"); InputStream in = Linster_1.class.getClassLoader().getResourceAsStream("applicationContext.xml"); SAXReader reader = new SAXReader(); Document read = reader.read(in); Element root = read.getRootElement(); List<Element> e = root.elements(); Map<String, String> map = new HashMap<>(); for (Element ee : e) { map.put(ee.attribute("id").getText(), ee.attribute("class").getText()); }
event.getServletContext().setAttribute("map", map);
} catch (DocumentException e) { e.printStackTrace(); } } |