一、spring 整合web 项目原理
1.加载spring 核心配置文件
加载spring配置文件,根据创建对象ApplicationContext act=new ClassPathXmlApplicationContext("bean1.xml");
(1)new 对象,功能可以实现,效率很低
2.实现思想:把加载配置文件和创建对象过程,在服务器启动时候完成
3.实现原理
(1) ServletContext 对象
(2) 监听器
(3)具体使用:
---在服务器启动时候,为每个项目创建一个ServletContext对象
---在ServletContext 对象创建时候,使用监听器可以具体监听到ServletContext对象在什么时候创建
---使用监听器听到ServletContext对象创建,加载spring配置文件,把配置文件配置到对象创建
---把创建出来的对象放到ServletContext 域对象里面 (setAttribute 方法)
---获取对象时候,到ServletContext 域得到 (getAttribute 方法)
二、项目演示
1.演示问题
(1)action 调用 service,service 调用 dao
每次访问action 时候,都会加载spring 配置文件
2.解决方案
(1)在服务器启动时候,创建对象加载配置文件
(2)底层使用监听器 ServletContext对象
3.在spring 里面不需要我们自己写代码实现,帮封装
(1)封装了一个监听器,只需要配置监听器就可以了
(2)配置监听器之前做事情:导入spring 整合web项目 jar包
(3)指定加载spring 配置文件
启动就加载