Como o Spring está injetando propriedades nas ações do Struts, que não estão definidas no applicationContext.xml

Estou em um projeto com estruturas como Spring 3 + Struts 2 + Hibernate 3. Também usa segurança de primavera.

Spring and Struts é integrado usando a molaContextLoaderListener definido emweb.xml

<listener>
    <display-name>Spring Initialization</display-name>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

Existem várias classes de serviço que geralmente fazem chamadas de banco de dados. gostaragentserviceprocess é uma dessas classes com método comogetAgents().

As ações Struts têm uma propriedade e um setter getter para cada processo e essas classes de processo são definidas como bean emapplication-context.xml.

Surpreendentemente, não consigo encontrar nenhum bean com classe de ação como parâmetro de classe. Quero dizer, a primavera não está controlando a instanciação do objeto de ação. Então, como o Spring pode injetar objetos de propriedade de serviço nessas ações?

Além disso, eu encontrei a seguinte entrada

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

questionAnswers(1)

yourAnswerToTheQuestion