инициализация переменной экземпляра класса действия Struts 2 - PullRequest
0 голосов
/ 08 декабря 2010

Я сейчас работаю над существующим проектом. Он использует Struts 2 + Spring 2.5.

Есть один класс действий, назовем его ActionA.java, внутри которого есть переменная экземпляра, которая является службойнапример,

класс ActionA {

// переменные

защищенный ServiceAInterface serviceA;

// методы действий, использующие методы serviceA

}

в определениях Spring Bean, есть определение, как

Я не нашел нигде другого, связанного с инициализацией переменной serviceA, и действительно задаюсь вопросом, какая часть находит правильный класс реализации для этой переменной и инициализирует его?

Это действительно загадкамне.Спасибо за любое просвещение.

Джеки

1 Ответ

0 голосов
/ 08 декабря 2010

Одним из способов является определение служебного компонента как

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

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

, а затем в своем классе напишите установщик и получатель для своего класса обслуживания.

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;
}

}

Вот так.Бин класса обслуживания будет инициализирован весной во время запуска приложения, и его ссылка будет присвоена вашему классу действий.

...