IOC的概念和原理
什么是IOC
1.控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理
2.使用IOC目的:为了耦合度减低
IOC底层原理
- xml解析
- 工厂模式
- 反射
底层原理示例图
目的:将耦合度降低到最低限度
IOC过程
1.xml配置文件,配置创建的对象
2.有service类和dao类,创建工厂类
class UserFactory
{
public static UserDao getDao()
{
String classValue = class属性值;//xml解析
Class clazz = Class.forName(classValue);//通过反射创建对象
return (UserDao)clazz.newInstance();
}
}
iOC接口
1.IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
2.Spring提供IOC容器实现两种方式:(两个接口)
1.BeanFactory:
a.IOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用
b.加载配置文件的时候不会创建对象,在获取对象(使用)的时候才会去创建对象
2.ApplicationContext:
a.BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用
b.加载配置文件的时候就会把在配置文件中的对象进行创建
3.ApplicationContext接口的实现类
1.FileSystemXmlApplicationContext:绝对路径
2.ClassPathXmlApplicationContext:相对路径