关于spring ioc底层原理(图解)+ 代码样例以及对IOC的简单理解

对IOC的理解:这是一种设计思想,目的为了降低类与类之间的耦合度。IOC也叫“”控制反转“”,所以理解他从两方面:

1.控制(谁控制谁,控制什么)

--首先控制是容器控制了对象。控制了外部资源获取(资源不只是对象还有文件等)

2.反转(什么是反转)

--在本来的程序设计上,我们都会再类中设计对象,都是我们主动创建对象或者直接通过对象进行获取东西,这就相当于是正转。而当从IOC的设计角度来思考,当容器帮我们创建对象及注入时依赖对象,此时对象是一个被动依赖的关系,所以是反转。

1.IOC底层原理使用技术

(1)xml配置文件

(2)dom4j解析配置的xml文件

(3)工厂的设计模式

(4)反射 

2.图解:

根据图中的思路见代码(当然创建项目目录要注意xml文件是在src下的,下面有项目目录截图):

下面是一个类: 

package cn.itcast.ioc;

public class User {

	public void add(){
		System.out.println("add.........");
	}
}

第一步:配置bean文件,创建想创建的类,也就是上面的类。

<?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">
       
	<!-- IOC的入门 -->
	<bean id="userservice" class="cn.itcast.ioc.User"></bean> 
</beans>   

第二步 :首先创建一个工厂类,然后通过doc4j解析xml文件,最后通过反射来创建对象。

package cn.itcast.ioc;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

public class TestIoc {

	public static void main(String[] args) {
		BeanFactory factory = new XmlBeanFactory(
				new ClassPathResource("beans01.xml"));
		User user = (User)factory.getBean("userservice");
		System.out.println(user);
		user.add();
	}
}

 项目目录以及所需要的jar包截图:

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值