Spring框架|控制反转IoC介绍|IoC环境搭建

一、控制反转介绍

(1)控制反转的概念

控制反转(Inversion of Control,即IoC):把对象的创建、初始化、销毁等工作交给框架,是框架的重要特征。并非面向对象编程的术语。控制反转包括依赖注入依赖查找

(2)容器

由于开发时需要创建很多对象,我们需要找个集合来存储,有Map和List供选择,有查找需求就选Map。所以应用加载时,创建一个Map,用于存放三层对象,将Map称之为容器

(3)工厂

工厂就是负责帮我们从容器中获取指定对象的类。使获取对象的方式发生了改变。

①之前我们获取对象时,采用new的方式,是主动的

Spring框架|控制反转IoC介绍|IoC环境搭建_第1张图片

②现在获取对象时,向工厂要对象,工厂为我们查找或创建对象,是被动的

Spring框架|控制反转IoC介绍|IoC环境搭建_第2张图片

(4)控制反转IoC的作用

削弱计算机程序的耦合,解除代码中的依赖关系。

二、spring基于XML的IoC环境搭建

(1)applicationContext.xml



	
	
 复制代码

(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();
	}
} 复制代码

推荐阅读:

【备战春招系列】关于kafka,BAT大厂都喜欢怎么问?

【备战春招系列】ZooKeeper灵魂28问,教你如何搞定面试官!

【备战春招系列】最新Linux 面试真题45道

【备战春招系列】历年来关于MySQL高频面试真题的梳理

【备战春招系列】springBoot灵魂22问!

【备战春招系列】50道微服务面试真题详解

【备战春招系列】27道MyBatis面试真题详解

大厂resdis灵魂40问,教你如何搞定面试官

更多技术文章和面试真题可以关注微信公众号:Java程序员聚集地。


 

你可能感兴趣的:(java)