轻量级开发的成功秘诀,第 4 部分: 轻量级容器的比较
2009-11-11 00:00:00 来源:WEB开发网
清单 6. CommandLineView 对象public class CommandLineView {
private RentABike rentaBike;
public CommandLineView() {}
public void setRentABike(RentABike rentaBike) {this.rentaBike = rentaBike;}
public RentABike getRentaBike() { return this.rentaBike; }
...
}
RentaBike 是具有您希望在自行车商店对象中看到的各种方法的接口:
清单 7. 接口方法public interface RentABike {
List getBikes();
Bike getBike(String serialNo);
void setStoreName(String name);
String getStoreName();
}
没有显示 ArrayListBikeStore,它是 BikeStore 接口的存根实现。注意,Spring 允许编写接口,但不强制编写接口。下面是描述该应用程序中 bean 的 XML 配置文件:
清单 8. 描述应用程序 bean 的 XML 配置文件<beans>
<bean id="rentaBike" class="com.springbook.ArrayListRentABike">
<property name="storeName"><value>Bruce's Bikes</value></property>
</bean>
<bean id="commandLineView" class="com.springbook.CommandLineView">
<property name="rentaBike">
<ref bean="rentaBike" />
</property>
</bean>
</beans>
该上下文中有两个 bean。commandLineView bean 依赖于 rentaBike bean。该应用程序通过为 rentaBike 属性指定 rentaBike 名称,显式解析该依赖关系。注意,PicoContainer 自动连接这种显式关系,Spring 也可以,但大多数用户不使用它的自动连线选项。Spring 还允许您通过拦截器或 AOP 向外观的任何方法添加服务。
更多精彩
赞助商链接