您的位置:首页>软件开发>软件架构>

Spring笔记和小结(2) (2)

[ 来源:Rifoo Technology | 更新日期:2007-7-15 20:16:15 | 评论 0 条 | 我要投稿 ]

大家应该注意到了吧,这里客户端有一个属性放置RentABike接口的引用。

最后,我们有一个控制器或装配器来创建所有的对象,并设置它们的属性。

Example 1-7. RentABikeAssembler.java

public class RentABikeAssembler { public static final void main(String[] args) { //创建一个客户端对象 CommandLineView clv = new CommandLineView( ); //装配器给出了接口的具体实现,所谓面向接口的编程 RentABike rentaBike = new ArrayListRentABike("Bruce’s Bikes"); //设置客户端对象的属性,将接口通过构造方法的模式“注入” clv.setRentaBike(rentaBike); //调用客户端对象的内部方法 clv.printAllBikes( ); }}

实际上,以上操作就完成了三个步骤的依赖注入模式。
我们运行程序,可以得到和第一节同样的结果:
C:RentABikeAppout>java RentABikeAssembler

RentABike: Bruce’s Bikes
Bike : manufacturer -- Shimano 字串5
: model -- Roadmaster
: frame -- 20
: serialNo -- 11111
: weight -- 15.0
: status -- Fair.

Bike : manufacturer -- Cannondale
: model -- F2000 XTR
: frame -- 18
: serialNo -- 22222
: weight -- 12.0
: status -- Excellent.

Bike : manufacturer -- Trek
: model -- 6000
: frame -- 19
: serialNo -- 33333
: weight -- 12.4
: status -- Fair.

大家现在看到了一个不用特定容器而实现的简单的依赖注入。通过一个装配器来完成注入操作。其实最终这个装配器会用Spring框架来取代。Spring会为我们创建对象和设置属性。

下图是一个J2EE应用程序使用service locator来管理其依赖的简图,service locator是J2EE核心设计模式之一,它经常被用在命名和服务定位上。具体请参考相关文章,我就不多解释了。 字串9



service location这种设计模式把依赖从应用程序中完全脱离了出来。我们后面会陆续讲到。

Tags:
责任编辑:
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为