Как Spring внедряет свойства в действиях Struts, которые не определены в applicationContext.xml
Я нахожусь в проекте, имеющем фреймворки, такие как Spring 3 + Struts 2 + Hibernate 3. Также он использует Spring Security.
Spring и Struts интегрированы с помощью SpringContextLoaderListener
определяется вweb.xml
<listener>
<display-name>Spring Initialization</display-name>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Есть несколько классов обслуживания, которые обычно делают вызовы БД. лайкagentserviceprocess
один такой класс, имеющий метод, какgetAgents()
.
Действия Struts имеют свойство и метод установки для каждого процесса, и эти классы процессов определены как bean-компоненты вapplication-context.xml
.
Удивительно, но я не могу найти ни одного компонента, имеющего класс действия в качестве параметра класса. Я имею в виду, что весна не контролирует создание объекта действия. Тогда как пружина может внедрить объекты свойств службы в эти действия?
Также я нашел следующую запись
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.action</url-pattern>
<url-pattern>*.htm</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>