Cómo Spring está inyectando propiedades en acciones Struts, que no están definidas en applicationContext.xml

Estoy en un proyecto que tiene frameworks como Spring 3 + Struts 2 + Hibernate 3. También usa Spring Security.

Spring and Struts se integra utilizando springContextLoaderListener definido enweb.xml

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

Hay varias clases de servicio que generalmente hacen llamadas db. me gustaagentserviceprocess es una de esas clases que tiene un método comogetAgents().

Las acciones de Struts tienen una propiedad y un setter getter para cada proceso y esas clases de proceso se definen como bean enapplication-context.xml.

Sorprendentemente, no puedo encontrar ningún bean que tenga clase de acción como parámetro de clase. Quiero decir que la primavera no está controlando la instanciación del objeto de acción. Entonces, ¿cómo puede Spring inyectar objetos de propiedad de servicio dentro de estas acciones?

Además, encontré la siguiente 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>

Respuestas a la pregunta(1)

Su respuesta a la pregunta