struts 2动作类实例变量初始化

时间:2010-12-08 06:48:55

标签: spring struts2 webwork

我目前正在使用现有项目。它正在使用Struts 2 + Spring 2.5。

有一个动作类,我们称之为ActionA.java,其中有一个实例变量,它是一个服务接口,如,

类ActionA {

//变量

受保护的ServiceAInterface serviceA;

//使用serviceA方法的动作方法

}

在spring bean定义中,有一个定义,如< bean id =“serviceA”class =“com.company.serviceAImplementationClass”/>

我没有找到与serviceA变量初始化有关的其他任何地方,并且真的想知道,哪个部分找到了这个变量的正确实现类,并初始化它?

这真让我困惑。感谢任何启发。

1 个答案:

答案 0 :(得分:0)

一种方法是将服务bean定义为

<bean id="serviceA" class="com.company.serviceAImplementationClass"/>

<bean id="actionClassA" class="com.company.ActionA">
   <property name="serviceA" ref="serviceA"/>
</bean>

然后在你的课堂上,为你的服务类编写setter和getter。

class ActionA{

//variables

protected ServiceAInterface serviceA;

//action methods, utilizing serviceA methods

public ServiceAInterface getServiceA() {
   return this.serviceA;
}

public void setServiceA(ServiceAInterface serviceA)
   this.serviceA = serviceA;
}

}

多数民众赞成。服务类bean将在应用程序启动期间由spring启动,其引用将分配给您的操作类。