Bean Gerenciado pelo Spring 2.5 como fazer um novo

3 respostas
M

Pessoal,

Tenho uma aplicação em JSF com JPA e Spring e tenho o seguinte ManagedBean

@Controller("livro")
@Scope("session")
public class Livro implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String nome;
   // atributos e get e sets

E queria em determinados momento criar uma nova instancia para este MB. mas como o spring esta gerenciando ele sempre injeta o bean antigo …

Alguém sabe como posso fazer o new neste cara ?

obrigado,

Marcelo Gomes

3 Respostas

Alexandre_Saudate

Em JSF não existe “new”. O que você pode fazer é alterar o escopo do bean (de session para request). Assim, a cada requisição, você vai ter um bean “zerado”.

[]´s

M

O escopo é session

@Scope("session")

Desta forma ele fica válido em toda a sessão é preciso disso, porém em alguns pontos quero que ele crie uma nova instancia.

se ele nao fosse um MB gerenciado pelo spring era só dar um livro = new Livro(); mas com o spring isso nao adianta…rs

alguém tem alguma ideia ??

Alexandre_Saudate

O escopo “prototype”, do Spring, deve te ajudar. Pare com essas idéias de dar “new” em algo, isso NÃO EXISTE em JSF.

[]´s

Criado 13 de maio de 2010
Ultima resposta 15 de mai. de 2010
Respostas 3
Participantes 2