使用Spring核心监听器ContextLoaderListener解决创建多个工厂,在服务器启动时创建一个Spring工厂,然后存储到ServletContext中,每次取出使用即可
1 引入spring-web.jar
2 配置监听器
<!-- 配置Spring监听器-->
<listener>
<listener-class> org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
3 获取工厂
WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(ServletActionContext.getServletContext());
CustomerService customerService = (CustomerService) applicationContext.getBean("customerService");