文章目录
一、控制反转介绍
(1)控制反转的概念
控制反转(Inversion of Control,即IoC):把创建对象的权利交给框架,是框架的重要特征。并非面向对象编程的术语。控制反转包括依赖注入和依赖查找。
(2)容器
由于开发时需要创建很多对象,我们需要找个集合来存储,有Map和List供选择,有查找需求就选Map。所以应用加载时,创建一个Map,用于存放三层对象,将Map称之为容器。
(3)工厂
工厂就是负责帮我们从容器中获取指定对象的类。使获取对象的方式发生了改变。
①之前我们获取对象时,采用new的方式,是主动的。
②现在获取对象时,向工厂要对象,工厂为我们查找或创建对象,是被动的。

(4)控制反转IoC的作用
削弱计算机程序的耦合,解除代码中的依赖关系。
二、spring基于XML的IoC环境搭建
(1)applicationContext.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">
	<!-- 
		把对象的创建交给spring来管理
		id代表唯一标识
		class代表类的全限定名(包名+类名)
	 -->
	<bean id="h" class="com.gql.HelloWord"></bean>
</beans>
(2)HelloWord.java
package com.gql;
public class HelloWord {
	/*
	 * 方法说明:
	 * 		say方法输出Hello Word!
	 */
	public void say(){
		System.out.println("Hello Word!");
	}
}
(3)HelloWordDemo
package com.gql;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 * 类说明:
 * 		测试使用Spring框架
 * @guoqianliang1998.
 */
public class HelloWordDemo {
	@Test
	public void test1(){
		HelloWord h = new HelloWord();
		h.say();
	}
	
	@Test
	public void test2(){
		//启动Spring容器,读取src下.xml文件中的信息
		ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
		//利用Spring容器创建对象
		HelloWord h = (HelloWord)ac.getBean("h");
		h.say();
	}
}
来源:CSDN
作者:郭乾亮1998.
链接:https://blog.csdn.net/weixin_43691058/article/details/104080289