Spring5框架——IOC控制反转

1、什么是 IOC

(1)控制反转:把对象创建和对象之间的调用过程,交给 Spring 进行管理。换句话说,使用对象时,由主动new产生对象转换成,从外部提供对象,在这个过程中,对象的创建控制权由程序转移到外部。
(2)使用 IOC 目的:为了耦合度降低

2、IOC 底层原理

(1)xml 解析、工厂模式、反射

3、画图讲解 IOC 底层原理

Spring5框架——IOC控制反转_第1张图片

IOC(BeanFactory 接口)

1、IOC 思想基于 IOC 容器完成,IOC 容器底层就是对象工厂。
2、Spring 提供 IOC 容器实现两种方式:(两个接口)
(1)BeanFactory:IOC 容器基本实现,是Spring 内部的使用接口,不提供开发人员进行使用。

  • 加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象

(2)ApplicationContext:BeanFactory 接口的子接口,提供更多更强大的功能,一般由开发人员进行使用。

  • 加载配置文件时候就会把在配置文件对象进行创建

3、ApplicationContext 接口有实现类
Spring5框架——IOC控制反转_第2张图片

实例:
1.创建xml文件
Spring5框架——IOC控制反转_第3张图片
2.创建类
Spring5框架——IOC控制反转_第4张图片
3.测试

@Test
public void testAdd() {
 //1 加载 spring 配置文件
 ApplicationContext context =
 new ClassPathXmlApplicationContext("bean1.xml");
 //2 获取配置创建的对象
 User user = context.getBean("user", User.class);
 System.out.println(user);
 user.add();
}

你可能感兴趣的:(spring5,spring)