在监听器中创建spring工厂:spring自动提供了一个监听器(不过可以自己写一个监听器,只要实现ServletContext接口就好了,然后在contextInitialized方法中进行初始化即可)。
在context-param中配置contextConfigLocation这个参数,并对参数值指定sprig配置文件所在目录即可,可以放在webinfo,也可以放在classpath中。
注意:
1.当服务器一启动的时候,先创建监听器对象,然后监听器对象再对application对象的创建作出监听,当application创建后,会把全局初始化参数到application中,监听器对象会调用contextInitialied方法,便会把创建application这个事件注入进来,事件可以通过getServletContext()方法拿到application对象,进而通过application对象的getInitParameter方法拿到spring框架的集成配置信息的所在地,最后对Spring的Bean工厂进行初始化,并把工厂名和工厂设置到application中。
//UserManager userManager = (UserManager)new UserManagerImpl();
// BeanFactory factory=new ClassPathXmlApplicationContext("applicationContext-beans.xml");
//UserManager userManager = (UserManager)factory.getBean("userManager");
BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
//ApplicationContext pc = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
UserManager userManager = (UserManager)factory.getBean("userManager");