Estou utilizando como provider para o VRaptor o Spring e gostaria se saber se tem como efetuar injeção de uma Session ( Hibernate ) de outra forma que não seja pelo construtor.
Obrigado.
Estou utilizando como provider para o VRaptor o Spring e gostaria se saber se tem como efetuar injeção de uma Session ( Hibernate ) de outra forma que não seja pelo construtor.
Obrigado.
vc pode anotar um setter ou um field com @Autowired do spring que vai funcionar.
tem algum motivo especial pra vc não querer usar injeção pelo construtor?
Lucas,
Estou apenas fazendo um teste, mas a idéia é que o desenvolvedor possa usar algo do tipo:
[code]
new Persistencia(entidades){
@Override
public Object execute() {
// AQUI TENHA DISPONIVEL SESSOES COM HIBERNATE / JDBC, CONTROLE TRANSACAO, ETC...
}
@Override
protected Object falha(Exception ex) {
return //TODO
}
}.executar();[/code]
Fiz como você sugeriu, porém não funcionou.
obrigado.
se vc dá new na classe não tem como a injeção de dependências do spring funcionar…
usar classes anônimas desse jeito não é uma boa prática…
se vc extrair isso pra uma classe top-level e anotar com @Component vc pode receber no construtor da classe que vai usar.
Lucas,
Tem como capturar uma Session ( Hibernate ) gerenciada pelo VRaptor sem que seja usada a injeção de dependência?
obrigado.
não nativamente…
sugiro que vc mude o construtor da sua classe Persistencia e adicione o Session… mas o ideal é fazer o que eu falei no post anterior