0

我目前正在处理一个现有项目。它使用的是 Struts 2 + Spring 2.5。

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

类动作A{

//变量

受保护的ServiceA接口服务A;

//action 方法,利用 serviceA 方法

}

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

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

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

杰基

4

1 回答 1

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 初始化,并将其引用分配给您的操作类。

于 2010-12-08T16:55:12.820 回答