Spring IOC基本介绍

2021-12-31 0 By admin

一、Spring IOC 入门示例

通过代码项目演示Spring IOC 示例需要以下几个过程:

  1. 下载Spring5 框架
  2. Idea 开发工具创建 Java 工程
  3. 导入 Spring 5相关的jar 包
  4. 编写普通演示类和普通方法
  5. 编写 Spring 配置文件
  6. 编写 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

  1. 控制反转,把对象创建和对象之间的调用过程,交给Spring 进行管理
  2. 使用IOC 目的:为了耦合度降低

2、IOC 底层原理
示例中IOC 的实现依赖于:xml 解析、工厂模式、反射技术。

Spring Ioc 过程图
Spring Ioc 过程图

二、IOC 的实现(BeanFactory 接口)

IOC 思想基于IOC 容器完成,IOC 容器底层就是对象工厂。

2.1、Spring 提供IOC 容器实现两种方式(两个接口)

  1. BeanFactory:IOC 容器的基本实现,是Spring 内部的使用接口,不提供开发人员进行使用。
    1. 加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象
  2. ApplicationContext:BeanFactory 接口的子接口,提供更多更强大的功能,一般由开发人员进行使用。
    1. 加载配置文件时候就会把在配置文件对象进行创建

2.2、ApplicationContext 接口有实现类

ApplicationContext 接口实现类
ApplicationContext 接口实现类