spring ioc 原理

转载

http://blog.csdn.net/it_man/article/details/4402245

IOC (控制反转)相信有很多人都知道,但是有些人只知道ioc就是控制反转,但是具体的意思还是不明白

所以当别人问你ioc是什么的时候你会回答控制反转,但是在深入问你的时候你却一脸懵逼

我们在处理业务的时候可能会用到多个对象,可能当某一个对象要引用到其他对象的时候我们都要new一个object出来,这样的话你会发现对象之间的耦合度高了,而ioc就是spring容器来实现这些相互依赖关系对象的创建,你只需要关注业务逻辑就可以了,不需要心我这个对象自己要怎么得来,

简单点就是比如一个例子,也是转载博客里面给的一个例子

你想有个女朋友,首先你得找个女孩子,然后要她的联系方式,然后想尽一切办法去追,你要自己设计每一个环节,传统开发也是如此,你一个对象中要引入另一个对象就必须得到他,new一个,使用完后还得销毁掉(如connection),对象会始终和其他的接口或者类耦合起来

而spring的ioc就不一样,他就相当于一个媒人,你要把你女朋友的要求说出来,他会自己帮你去找去匹配,如果不合适则我们会抛出异常,整个匹配过程你完全不用管

,所有类的创建,销毁都由spring控制,而不是你自己


ioc是在系统运行中向某个对象动态的添加其他对象,比如对象a需要操作数据库,那么我们只要告诉spring我们需要connection对象就可以了,spring会自动分配connection给我们,至于他怎么分配怎么构造那么我们就不需要管了

在系统运行时,spring会在适当的时候制造一个Connection,然后像打针一样,注射到A当中,这样就完成了对各个对象之间关系的控制。A需要依赖 Connection才能正常运行,而这个Connection是由spring注入到A中的,依赖注入的名字就这么来的。那么DI是如何实现的呢? Java 1.3之后一个重要特征是反射(reflection),它允许程序在运行的时候动态的生成对象、执行对象的方法、改变对象的属性,spring就是通过反射来实现注入的。关于反射的相关资料请查阅java doc


反射

http://blog.csdn.net/sahadev_/article/details/70908086

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值