加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet 只是一个是基于Servlet2.3版本中新引入的Listener接口实现,而另一个基于Servlet接口实现。开发中可根据目标Web容器的实际情况进行选择 在web.xml中增加 Xml代码
org.springframework.web.context.ContextLoaderListener
或:
context
org.springframework.web.context.ContextLoaderServlet
1
org.springframework.web.context.ContextLoaderListener
或:
context
org.springframework.web.context.ContextLoaderServlet
1
通过以上配置,Web容器会自动加载/WEB-INF/applicationContext.xml初始化 ApplicationContext实例,如果需要指定配置文件位置,可通过context-param加以指定: Xml代码
contextConfigLocation
classpath*:applicationContext-*.xml ,/WEB-INF/myApplicationContext.xml
contextConfigLocation
classpath*:applicationContext-*.xml ,/WEB-INF/myApplicationContext.xml
配置完成之后,即可通过 WebApplicationContextUtils.getWebApplicationContext方法在Web应用中获取ApplicationContext引用。 如: BeanFactory factory = WebApplicationContextUtils.getWebApplicationContext(request.getSession ().getServletContext()); UserManager userManager = (UserManager)factory.getBean("userManager"); 实际上在 org.springframework.web.context.ContextLoaderServlet 、org.springframework.web.context.ContextLoaderListener 中实现了以下核心代码: BeanFactory factory = new ClassPathXmlApplictionContext("applicationContext.xml"); 创建IOC容器内配置的对象,并维护对像间的依赖关系.
Spring中ApplicationContext加载机制
最新推荐文章于 2024-09-15 11:16:00 发布