天天看点

Spring IOC 底层原理简单浅析

Spring IOC:(控制反转)——Spring通过一种称作控制反转(IoC)的技术促进了低耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

来自百度百科。

不废话直接进入主题。

首先Spring IOC 运用的技术

1.XML配置

2.dom4j(用来解析xml)

3.工厂模式(经常遇到的模式)

4.反射(现在学习java的应该几乎都不会讲)

举例:获取 userService 对象

原始做法: UserService userService = new UserService();

SpringIOC做法:

1.配置文件 <bean id="userService " class="org.ql.service.UserService"/>

2.dom4j解析xml 根据id userService 获取对应的class值 org.ql.service.UserService 

   String classValue = dom4j 解析的值

3.反射获取class Class clazz = Class.forName(classValue ); 

UserService userService = clazz.newInstance();

4.以上步骤利用工厂模式封装成方法