Gostaria de tirar uma duvida sobre a anotação @ViewScoped, estou desenvolvendo uma aplicação com Spring 3 + JSF2 e na hora de criar os meus MB, me deparei com uma duvida, pesquisei na internet e achei classes que implementam o ViewScoped mas nao tive resultado, entao anotei o meu MB com @ManagedBean e @ViewScoped mas vi que esta anotacao so serve para Seam, esta informação esta correta?
segue a classe MB
@ManagedBean
@ViewScoped
public class EmpresaController implements Serializable {
// <editor-fold defaultstate="collapsed" desc="Atributos">
@ManagedProperty(name = "empresaService", value = "#{empresaService}")
private EmpresaService empresaService;
private List<Empresa> empresaList;
private Empresa selectedEmpresa;
//</editor-fold>
public EmpresaController() {
}
// <editor-fold defaultstate="collapsed" desc="GET / SET">
public List<Empresa> getEmpresaList() {
return empresaList;
}
public void setEmpresaList(List<Empresa> empresaList) {
this.empresaList = empresaList;
}
public Empresa getSelectedEmpresa() {
return selectedEmpresa;
}
public void setSelectedEmpresa(Empresa selectedEmpresa) {
System.out.println("SET EMPRESA " + selectedEmpresa);
this.selectedEmpresa = selectedEmpresa;
}
public void setEmpresaService(EmpresaService empresaService) {
this.empresaService = empresaService;
}
//</editor-fold>
@PostConstruct
public void init() {
setEmpresaList(empresaService.getAll(0));
setSelectedEmpresa(new Empresa());
}
@PreDestroy
public void destroy() {
}
}
se eu nao faço com a anotação ViewScoped os dados da empresa nao aparecem nas interfaces com primefaces, o que acontece com o Spring 3 quando utilizo essa anotação?