Spring整合web项目原理
1.加载Spring核心配置文件
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
//每次使用时都加载Spring配置文件效率很低。
2.实现思路:把加载配置文件和创建对象过程,在服务器启动时候完成。
3.实现原理:
- ServleteContext对象
- 监听器
- 在ServletContext对象被创建时,通过监听器监听,然后把Spring配置文件加载过程放到监听器里面。把配置文件配置对象创建,把创建出来的对象放到ServletContext域对象里面。
- 之后我们如果要使用就通过getAttribute方法在ServletContext域里面得到。
在Spring里面不需要我们自己写代码实现,Spring已经帮我们封装好了:
1.封装了一个监听器,只需要在web.xml中配置监听器就好了。
2.配置监听器之前做事情,导入Spring整合web项目jar包,下载Spring整合web项目包
3.在web.xml中配置监听器:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
4.web.xml中指定加载Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value><!-- 固定格式:找到src目录下面的applicationContext.xml -->
</context-param>