码迷,mamicode.com
首页 > 其他好文 > 详细

控制反转和依赖注入的关系总结

时间:2017-08-31 20:22:01      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:round   控制反转和依赖注入   容器   组件   auto   autowire   set   tar   details   

借鉴http://blog.csdn.net/zhoudaxia/article/details/31763677

控制反转:把传统上由程序代码直接操控的对象的调用权交给外部容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”就是组件对象的控制权转移了,从程序代码本身转移到了外部容器。

实现控制反转的两种方式:依赖注入和依赖查找。

依赖注入有四种实现方式:

1.基于接口:实现特定接口以供外部容器注入所依赖类型的对象,接口中定义要注入依赖对象的方法。

2.基于setter方法:实现特定属性的public set方法,来让外部容器调用,以传入所依赖类型的对象。

3.基于构造函数:实现特定参数的构造函数,在新建对象时传入所依赖类型的对象。

4.基于注解:基于Java的注解功能,在私有变量前加“@Autowired"等注解,不需要显式的定义以上三种代码,便可以让外部容器传入对应的对象。该方案相当于定义了public 的set方法,但是因为没有真正的set方法,从而不会为了实现依赖注入导致暴露了不该暴露的接口(因为set方法只想让容器访问来注入而不希望其他依赖此类的对象访问)

控制反转和依赖注入的关系总结

标签:round   控制反转和依赖注入   容器   组件   auto   autowire   set   tar   details   

原文地址:http://www.cnblogs.com/cing/p/7460180.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!