Spring 整合web 项目原理及配置
1 加载spring核心配置文件,通过以下代码实现对象的加载及创建
// 加载spring配置文件,根据创建对象
ApplicationContext context =
new ClassPathXmlApplicationContext("bean1.xml");
缺点
通过这种在代码中显示加载配置文件的方法,可以实现bean对象的加载,但是通过new 的方式,效率太低,将压力放在了程序运行过程之中
Spring的解决方案
- 将加载配置文件过程和创建对象的过程放在服务器启动的时候完成
实现的原理
- ServletContent 对象
- 监听器
具体的实现过程
- 在服务器启动的时候,会为每个项目创建一个ServletContext对象
- 在ServletContext对象创建时候,使用监听器可以具体到ServletContext对象在什么时候创建
- 使用监听器监听到ServletContext对象创建的时候,加载spring配置文件,把创建出来的对象放到ServletContext域对象里面(setAttribute方法),获取对象的时候到ServletContext域得到 (getAttribute方法)
在spring里面不需要我们自己写代码实现,帮封装
(1)封装了一个监听器,只需要 配置监听器 就可以了
(2)配置监听器之前做事情:导入spring整合web项目jar包
如何配置:
在 web.xml 中进行配置
<!-- 1. 配置监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 2. 指定spring配置文件位置 -->
<!--如果不指定,默认情况下加载目录下的 /WEBINF/applationContent.xml-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:bean.xml</param-value>
</context-param>
说明: 本文大部分内容都是跟随者传播智课的教学视频学习而来,可以看做是翻译文章,只是自己吸收之后又书写一遍,加深自己的知识理解。