Spring中的IOC容器原理

什么是IOC:

IOC(Inverse of Control)控制反转,将对象的创建权利反转给Spring框架。

它是面向对象编程中的一种设计原则,可以用来降低计算机代码之间的耦合度

IOC容器的底层原理:

IOC依赖于3门技术:1.dom4j解析xml文档。2.工厂模式 3.采用反射设计模式来创建对象

那什么是工厂模式:

假如说我们创建了3个类分别是A、B、C类,我们在B类中创建一个A类的对象,假如说A类出了问题,那么B类也肯定就出了问题,这就是耦合产生的不利结果,如果所有的类都这样写那耦合性就会很高。但是如果我们利用C类中的某个方法只有调用时来创建对象,我们在B类想使用A类对象时我们直接在C类中的方法进行获取,假如说A类发生错误,那也只有C类中的某个方法创建对象时会产生错误并且不会影响整个C类也不会影响其他类。我们把所有要的创建对象都放到C类响应的方法里,这就是工厂模式的一种。

在工厂类里,我们利用反射的方式创建对象,通过传入创建对象的全类名(反射通过全类名来创建对象)来创建对象,传入后才能创建对象,而这个参数就来自我们的配置文件中如下:

<bean id="demo" class="com.Demo" />

我们通过先创建工厂,工厂里传入xml配置文件,通过解析xml文件来加载配置文件,再通过获取bean对象里的id,创建出我们需要创建的对象,这样创建对象的方式就是我们所说的IOC容器完成的事情。上篇文章有一个例子可以作为参考。

IOC中的接口 :

1.IOC思想是基于IOC容器完成的 ,IOC的底层就是对象工厂。

2.Spring里提供了IOC容器实现的两种方式

1)BeanFactroy:IOC容器Spring内部使用的接口,这个接口只能使用不能对它进行更改

使用这种接口创建工厂对象如下:

BeanFactroy bf = new ClassPathXmlApplicationContext("xml文件名.xml");

 * BeanFactroy:加载配置文件的时候不会去创建对象,在使用对象的时候才会去创建对象

2)ApplicationContext:BeanFactory接口的子接口,提供了更多更强大的功能,我们可以对它进行更改

使用这种接口创建工厂对象如下:

ApplicationContext = new ClassPathXmlApplicationContext("xml文件名.xml");

*加载配置文件的时候会把对象创建 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sshm_666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值