WEB开发网
开发学院网络安全安全技术 对依赖注入技术的初学指导 阅读

对依赖注入技术的初学指导

 2008-09-20 13:26:20 来源:WEB开发网   
核心提示: 请注意XWork依赖于一个叫做‘推动者‘的接口(enabler interface),它基本上是一个为服务组件定义setter方法的接口,对依赖注入技术的初学指导(10),public interface CabAgencyAware{ public void se

请注意XWork依赖于一个叫做‘推动者‘的接口(enabler interface)。它基本上是一个为服务组件定义setter方法的接口。

public interface CabAgencyAware
{
   public void setCabAgency(CabAgency cabAgency);
}

和其他的容器不同的是,XWork要求我们定义AirlineAgencyAware,CabAgencyAware和TripPlannerAware 接口,并

正确地实施它们。从这个角度来看,XWork要比其他框架烦人些。

容器的初始化

这看上去会有一点复杂。

ComponentConfiguration config = new ComponentConfiguration();
InputStream in =
   XworkHarness.class.getClassLoader().getResourceAsStream("components.xml");
config.loadFromXml(in);
cm = new DefaultComponentManager();
config.configure(cm,"application");

依赖性的声明

各类通过对必要的’推动者接口‘的实施来声明它们之间的依赖性。因此每一个服务组件通过实施相应的’推动者接口‘来声明

它对其他组件的依赖性。XWork使用’推动者接口‘来解决依赖性。

public class SetterBasedCabAgency extends AbstractCabAgency implements AirlineAgencyAware { ... }

依赖性的解决方案

很自然的,从一个组件管理器引发的一个查询就可以自动解决所有的依赖性问题。

cm.getComponent(TripPlannerAware.class);

XWork和WebWork

XWork通常和WebWork被绑在一起使用。在那样的情况下,你需要做的就是定义并实施推动者接口类,写出XML文件,

上一页  5 6 7 8 9 10 

Tags:依赖 注入 技术

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接