Seguinte pessoal, to usando JSF 2.0 + Spring 3.0.5 minhas aplicação é gerenciada pelo Faces, ou seja, faço as injeções da seguinte forma:
@ManagedBean
@ViewScoped
public class RelatorioBean implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@ManagedProperty(value = "#{cursoService}")
private CursoService cursoService;
//resto da classe
}
Nos managedBeans a injeção funciona perfeitamente porém no converter, meus services nunca são injetados. O que há de errado? Segue abaixo o converter
import javax.faces.bean.ManagedProperty;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import br.com.conego.corporativo.service.CursoService;
import br.com.conego.secretaria.entity.Curso;
@FacesConverter(value="cursoConverter")
public class CursoConverter implements Converter {
@ManagedProperty(value = "#{cursoService}")
private CursoService cursoService;
public Object getAsObject(FacesContext ctx, UIComponent component, String value) {
if (value != null && !"".equals(value) ) {
return this.cursoService.findBy(Long.parseLong(value));
}
return null;
}
public String getAsString(FacesContext ctx, UIComponent component, Object value) {
if(value == null){
return "";
}
return ((Curso) value).getId().toString();
}
public CursoService getCursoService() {
return cursoService;
}
public void setCursoService(CursoService cursoService) {
this.cursoService = cursoService;
}
}