Конфигурация, чтобы сделать пружинное внедрение зависимости в классе действия в стойках 2? - PullRequest
0 голосов
/ 20 января 2012

У меня есть устаревший проект j2ee, который использует распорки 2 с пружиной.Теперь, когда я помещаю отладчик в первый вызов метода в классе действия, я обнаруживаю, что все зависимости переменных экземпляра вводятся автоматически.я имею в виду, где мы настраиваем внедрение зависимостей для класса действий в стойках?я тоже исследовал web.xml, я не нашел ничего похожего?

Ответы [ 2 ]

1 голос
/ 20 января 2012

Содержит ли ваша конфигурация стойки (struts.xml) такой элемент?:

<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />

Подробнее на http://struts.apache.org/2.2.3/docs/spring-plugin.html

1 голос
/ 20 января 2012

Если Spring используется для внедрения зависимостей для Struts2, который включает результаты / действия и т. Д., Это означает, что ваш код должен использовать Плагин Struts2-Spring .Struts2 по умолчанию использует свой собственный объектный фактор для создания экземпляров. классов действий / Результаты и перехватчики и т. д. Чтобы использовать Spring, нужно сообщить Struts2 о том, какую фабрику создания объектов следует использовать. Для этого нам нужно определить следующую запись либо в файл struts.xml, либо в файл struts.properties

struts.xml

<struts>
  <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
  ... 
</struts>

struts.properties

struts.objectFactory = org.apache.struts2.spring.StrutsSpringObjectFactory

Я верю, что в вашем web.xml вы найдете запись в ContextLoaderListener Spring, которая будет загружать applicationContext файл xml из пути к классам.

при использовании Spring действие будет создано пружиной в ее xml-файле, а в файле конфигурации действия вместо имени класса действия используется ссылка на компонент.

Таким образом, все, что вам нужно для проверки applicationContext.xml в вашем Проекте, где действие будет инициировано как prototype bean-компоненты и те ссылки на bean-компоненты, используемые в файле struts.xml, для определения вашего класса действия Struts2

...