关于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包截图:
作者:small__snail__5
来源链接:https://blog.csdn.net/small__snail__5/article/details/81408737
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。