依赖注入的实现

IOC:控制反转、依赖注入 (Inversion of Control) ·对象由容器来创建,而不是他们自己 ·对象本身并不知道他们自己是如何被配置的 IOC用到了工厂设计模式、反射技术。 IOC:由容器(框架)定制程序间的关系,不必象传统实现中由程序代码直接操控,控制权转到外部容器(框架) ·目的:提升组件的重用概率 依赖注入的实现—一接口注入: ·原理:通过定义某一类型的接口interface来标识一组功能相似的对象,并在这一组对象与其调用者间,在编译时分离,在运行时才动态加载实现类 ·好处:使得调用者和组件对象间的依赖程度减小,提高了模块的独立性 依赖注入的实现--设值注入(属性注入)、构造注入(构造方法注入) ·设值注入: 原理:通过类的setter方法完成依赖关系的设置 好处:直观,容易 ·构造注入: 原理:通过构造函数完成依赖关系的设定 优点:通用,利用Java语言的特性,来在运行时的一开始就建立起关联 ·两者比较: <1>设值注入的优点: 直观、自然 对于复杂依赖的关系,如果采用构造注入,会导致构造器过于臃肿,IOC容器在创建bean实例时,需要同时实例化其依赖的全部实例,因而导致性能下降。 <2>构造注入的优点: 可以在构造中决定依赖关系的注入顺序。 对于依赖关系无须变化的bean。构造注入更有用处。 更符高内聚的原则。 例: public class ProString { private IGetString getStr; //构造方法注入 //public ProString(IGetString getStr) { //  this.getStr = getStr; //} public ProString(){ } //属性注入 public IGetString getGetStr() { return getStr; } public void setGetStr(IGetString getStr) { this.getStr = getStr; } public String getData(){ String s=this.getStr.getString(); return s; }

转载于:https://www.cnblogs.com/gxpblogs/archive/2013/05/21/3090968.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部