一、IOC和DI区别
(1)IOC:控制反转,把对象创建交给spring进行配置;
(2)DI:依赖注入,向类里面的属性中设置值。
(3)关系:依赖注入不能单独存在,需要在IOC的基础之上完成操作。
二、spring整合web项目原理
1、加载spring核心配置文件
//加载spring配置文件,根据创建对象
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
(1)new对象,功能可以实现,效率很低。
2、实现思想:把加载配置文件和创建对象的过程,在服务器启动时候完成。
3、实现原理:
(1)ServletContext对象
(2)监听器
(3)具体使用:
- 在服务器启动时候,为每个项目创建一个ServletContext对象;
- 在ServletContext对象创建时候,使用监听器可以具体到ServletContext对象在什么时候创建;
- 使用监听器坚挺到ServletContext对象创建时候,加载spring配置文件,把配置文件配置对象创建,把创建出来的对
象放到域对象里面(setAttribute方法);
- 获取对象时候,到ServletContext域得到(getAttribute方法);