Pessoal,
Estou apanhando à alguns dias, e gostaria de uma ajuda.
Estou desenvolvendo uma aplicação Web, com Struts 2, Spring 2.5 e Hibernate.
O Struts está funcionando ok.
Quero utilizar a opção @Autowired do Spring.
Mas não estou conseguindo injetar os Beans.
Segue meu código:
Web.xml
[code]<?xml version="1.0" encoding="UTF-8"?>
Sample Struts 2
contextConfigLocation classpath:applicationContext.xml struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* index.html[/code]
applicationContext.xml
[code]<?xml version="1.0" encoding="UTF-8"?>
<!--
Permite injetar automaticamente se estiver anotado com @autowired
-->
<context:annotation-config />
<!--
varre todas as classes hierarquicamente dentro desse pacote
que estiverem com anotações do spring
-->
<context:component-scan base-package="br.com.pacote.*"/>
[/code]
MinhaAction
[code]@Controller
public class MinhaAction extends ActionSupport{
private static final long serialVersionUID = 2145535221379940078L;
@Autowired
private MeuFacade meuFacade;
public String execute() throws Exception{
this.meuFacade.chamaMetodo();[/code]
MeuFacade
[code]public interface MeuFacade {
public void chamaMetodo;
}[/code]
MeuFacadeImpl
[code]@Service
@Scope(“prototype”)
public class MeuFacadeImpl implements MeuFacade {
@Override
public void chamaMetodo() {
System.out.println("Spring wired");
}
}[/code]
O applicationContext.xml está na pasta src/resources, junto com o struts.xml.
Quando debugo a aplicação, na minha Action o facade anotado com @Autowired está null.
Alguém sabe o que está faltando?
Obrigado
Rafael