IOC VRaptor

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