[Resolvido]Mudando meu Spring de XML para Annotations - @Autowired não injeta os beans

Olá meu povo,

estou tentando mudar a forma de injetar beans num sistema, de xml para annotations do Spring. Consultando alguns tutoriais e até mesmo o fórum do guj, consegui organizar de tal forma q a app sobe e td mais sem erros. Só que na hora de injetar os beans, o Spring Container parece não conseguir. Ao testar, vejo q o objeto a ser inserido(um controlador) está ‘null’. Já tentei de várias formas, sem sucesso, de forma que me parece q algum detalhe mais sutil deve estar faltando. Abaixo vão minhas configs e o código. Só lembrando q estou tentando passar para Annotations apenas uma funcionalidade, caso funcione, eu mudo o resto do sistema.

//A classe que utiliza o Controlador (que não consegue ser injetado)

public class ParametrosAction extends LoggerAction {

	private IControladorParametros controladorParametros;
	private IControladorStatusContato controladorStatusContato;
	
	
	private IControladorHorarioFuncionamento controladorHorario;
	
	@Autowired
	public void setControladorHorarioFuncionamento(IControladorHorarioFuncionamento controladorHorario) {
		this.controladorHorario = controladorHorario;
	}
//A classe Controlador que deve ser injetada
@Service(value="controladorHorario")
public class ControladorHorarioFuncionamento implements IControladorHorarioFuncionamento {

	private IHorarioFuncionamentoDao horarioDao;
	
	@Autowired
	public void setHorarioFuncionamento(IHorarioFuncionamentoDao horarioDao) {
		this.horarioDao = horarioDao;
	}
	
	public void atualizar(HorarioFuncionamento horario) {
		this.horarioDao.atualizarFlush(horario);
	}
	
	public Collection<HorarioFuncionamento> getHorarios() {
		return horarioDao.getTodos();
	}
	
}
//O Dao específico dessa funcionalidade, que deve ser injetado no controlador acima.
@Repository(value="horarioDao")
public class HorarioFuncionamentoDao extends Dao<HorarioFuncionamento> implements IHorarioFuncionamentoDao {

	public HorarioFuncionamentoDao() {
		super(HorarioFuncionamento.class);
	}
	
}

Agora meu arquivo de configuração(applicationContext.xml é dividido em 2 partes, controladorContext.xml e daoContext.xml):

[code]

<context:annotation-config base-package=“com.provider.discador.horario.controle”>
<context:include-filter type="annotation"
expression=“org.springframework.stereotype.Service”/>
</context:annotation-config>

[/code]

É isso ae, não funciona nem a pau! Qualquer dica do porquê disto, pode falar q eu tô curiosíssimo! =]

Vlw!

Bom, resolvi o problema. Vários erros, pra começar:

1 - O xml correto seria

[code]context:annotation-config/

<context:component-scan base-package=“com.provider.discador.horario.controle”>
<context:include-filter type="annotation"
expression=“org.springframework.stereotype.Service”/>
</context:component-scan> [/code]

2 - E essa parte deve ficar dentro do meu applicationContext de Actions (struts 1.x). Ou seja, no caso de vc ter um applicationContext.xml dividido, como no meu caso, vc deve usar o component-scan para procurar annotations nos beans especificados pelo base-package.
Ex: Dentro do actionContext.xml eu procuro os controladores (@Service). Nos controladores, como eu injeto Daos, procuro por daos(@Repository) e assim por diante…

Pelo q lembro eh isso… =]