天天看点

[Spring5]IOC容器_底层原理IOC的概念和原理

IOC的概念和原理

什么是IOC

1.控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理

2.使用IOC目的:为了耦合度减低

IOC底层原理

  • xml解析
  • 工厂模式
  • 反射

底层原理示例图

[Spring5]IOC容器_底层原理IOC的概念和原理
[Spring5]IOC容器_底层原理IOC的概念和原理

目的:将耦合度降低到最低限度

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:相对路径

[Spring5]IOC容器_底层原理IOC的概念和原理