Spring IOC基本介绍
一、Spring IOC 入门示例
通过代码项目演示Spring IOC 示例需要以下几个过程:
- 下载Spring5 框架
- Idea 开发工具创建 Java 工程
- 导入 Spring 5相关的jar 包
- 编写普通演示类和普通方法
- 编写 Spring 配置文件
- 编写 Spring IOC 测试代码
1.1、普通类和普通方法
public class User { public void add() { System.out.println("add......"); } }
1.2、创建Spring 配置文件
在配置文件配置创建的对象;Spring 配置文件使用xml 格式。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--配置User 对象创建--> <bean id="user" class="com.atguigu.spring5.User"></bean> </beans>
1.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(); }
1.4、IOC(概念和原理)
1、什么是IOC
- 控制反转,把对象创建和对象之间的调用过程,交给Spring 进行管理
- 使用IOC 目的:为了耦合度降低
2、IOC 底层原理
示例中IOC 的实现依赖于:xml 解析、工厂模式、反射技术。
Spring Ioc 过程图
二、IOC 的实现(BeanFactory 接口)
IOC 思想基于IOC 容器完成,IOC 容器底层就是对象工厂。
2.1、Spring 提供IOC 容器实现两种方式(两个接口)
- BeanFactory:IOC 容器的基本实现,是Spring 内部的使用接口,不提供开发人员进行使用。
- 加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象
- ApplicationContext:BeanFactory 接口的子接口,提供更多更强大的功能,一般由开发人员进行使用。
- 加载配置文件时候就会把在配置文件对象进行创建
2.2、ApplicationContext 接口有实现类
ApplicationContext 接口实现类