Study java

一个新手学习JavaEE的心得,希望对学习JavaEE的朋友有些帮助。

控制反转 Type1IoC,Type2IoC和Type3IoC

Type1IoC就是Interface Injection,使用Type1 IoC的时候要求实现接口,对象所在的容器也会使用这个接口.容器同事知道这个接口上所规定的方法,所以可呼叫实现接口的对象来完成依赖关系注射.
如 容器的API申明了 一个IDependency接口
IDependency.java

接着我们让Business 类实现这个接口
Business.java

这样如果要实现依赖关系注入的对象,必须实现IDependency接口.并将其让容器管理,由于Business实现了容器所规定的接口,这样就使得Business依赖于容器的API.如果以后要独立出来,那么就必须修改代码了.所以Type1IoC有较强的入侵性,使用它来实现注射.会使得应用程序或组件依赖容器.因而降低了重用性.
所以Spring 推荐 Type2IoC 其实就是Setter Injection.写一个Bean
HelloBean.java

配置Spring文件

beans.xml


下面写一个简单的测试文件
SpringDemo.java


这就是一个Type2IoC,以后要改变输出的内容只要在配置文件中修改一下就可以了.

Type3IoC 是Construtor Injection这个Spring也支持
HelloBean.java

配置spring文件
beans.xml


有多个参数的话,用index来指定位置,第一个参数索引值为0,第二个是1,依次类推
测试文件和上面一个差不多没有什么区别为了节省篇幅就不写了.

这是我初学spring的一些文章.个人认为还是Type2IoC好用,不过对于一些第一次注射后不能在修改的如DAO注射,使用Type3也可以.
上面的例子还是在spring1.28环境下的.如果要到2.0环境,请各位自己修改.
隔几天写一个关于spring 属性参考的文章,

 

posted on 2007-05-29 18:45 ronghai 阅读(1096) 评论(0)  编辑  收藏 所属分类: java新手学习


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2007年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

统计

常用链接

留言簿(2)

随笔分类

随笔档案

城市流浪者

搜索

最新评论

阅读排行榜

评论排行榜