Estou iniciando um projeto com Struts2 + Spring 2.5...vi varias video aulas do assunto, consegui fazer os testes nos models, mas estou tendo problemas na hora de injetar um objeto repository para uma classe Interceptor
segue a classe interceptorpackage br.com.intesis.producaonfe.controller;
import br.com.intesis.producaonfe.domain.repository.UsuarioRepository;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class VerificarInstalacaoInterceptor implements Interceptor {
private UsuarioRepository repository;
private static final String INSTALAR = "instalar";
public void setRepository(UsuarioRepository repository) {
this.repository = repository;
}
@Override
public void init() {
}
@Override
public void destroy() {
}
@Override
public String intercept(ActionInvocation invocation) throws Exception {
if (repository.findAll().isEmpty()) {
return INSTALAR;
} else {
return invocation.invoke();
}
}
}
e o objeto que pretendo fazer a DI é o objeto repository
segue o arquivo struts.xml<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="verificarInstalacao"
class="br.com.intesis.producaonfe.controller.VerificarInstalacaoInterceptor" />
<interceptor-stack name="mensageriaNFeInstalacaoStack">
<interceptor-ref name="exception" />
<interceptor-ref name="alias" />
<interceptor-ref name="servletConfig" />
<interceptor-ref name="i18n" />
<interceptor-ref name="prepare" />
<interceptor-ref name="chain" />
<interceptor-ref name="debugging" />
<interceptor-ref name="profiling" />
<interceptor-ref name="scopedModelDriven" />
<interceptor-ref name="modelDriven" />
<interceptor-ref name="fileUpload" />
<interceptor-ref name="checkbox" />
<interceptor-ref name="staticParams" />
<interceptor-ref name="actionMappingParams" />
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError" />
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="jsonValidation" />
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>
<interceptor-stack name="mensageriaNFeStack">
<interceptor-ref name="verificarInstalacao" />
<interceptor-ref name="mensageriaNFeInstalacaoStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="mensageriaNFeStack" />
<default-action-ref name="home" />
<global-results>
<result name="instalar" type="chain">
<param name="actionName">instalar!input</param>
<param name="namespace">/instalarSistema</param>
</result>
<result name="acesso_negado">/acessonegado.jsp</result>
</global-results>
<action name="home" class="br.com.intesis.producaonfe.controller.HomeAction">
<result>/home.jsp</result>
</action>
<action name="login" class="br.com.intesis.producaonfe.controller.LoginAction">
<result name="input">/home.jsp</result>
<result>/home.jsp</result>
</action>
<action name="logout" class="br.com.intesis.producaonfe.controller.LoginAction" method="logout">
<result>/home.jsp</result>
</action>
</package>
<package name="instalarSistema" namespace="/instalarSistema" extends="default">
<default-interceptor-ref name="mensageriaNFeInstalacaoStack" />
<default-action-ref name="instalar!input" />
<action name="instalar!*" method="{1}"
class="br.com.intesis.producaonfe.controller.InstalarSistemaAction">
<result name="input">/WEB-INF/pages/instalarSistema/form.jsp</result>
<result>/WEB-INF/pages/instalarSistema/result.jsp</result>
</action>
</package>
</struts>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd" xmlns:aop="http://www.springframework.org/schema/aop">
<bean id="infoUsuario" class="br.com.intesis.producaonfe.controller.InfoUsuario" scope="session">
<aop:scoped-proxy />
</bean>
<bean id="loginAction" class="br.com.intesis.producaonfe.controller.LoginAction">
<property name="repository" ref="usuarioRepository"/>
</bean>
<bean id="verificarInstalacaoInterceptor" class="br.com.intesis.producaonfe.controller.VerificarInstalacaoInterceptor">
<property name="repository" ref="usuarioRepository"/>
</bean>
<bean id="usuarioRepository" class="br.com.intesis.producaonfe.infrastructure.UsuarioDecorator">
<property name="dao">
<bean name="GenericJPADAO" class="br.com.intesis.producaonfe.infrastructure.dao.GenericJPADAO">
<constructor-arg value="br.com.intesis.producaonfe.domain.Usuario" />
</bean>
</property>
</bean>
</beans>
se eu jogo em teste funciona normalmente a injecao do bean usuarioRepository, ja o do interceptor nao, o que estou fazendo de errado?