IOC VRaptor

5 respostas
L

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.

5 Respostas

Lucas_Cavalcanti

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?

L

Lucas,

Estou apenas fazendo um teste, mas a idéia é que o desenvolvedor possa usar algo do tipo:

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();

Fiz como você sugeriu, porém não funcionou.

obrigado.

Lucas_Cavalcanti

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.

L

Lucas,

Tem como capturar uma Session ( Hibernate ) gerenciada pelo VRaptor sem que seja usada a injeção de dependência?

obrigado.

Lucas_Cavalcanti

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

Criado 13 de setembro de 2010
Ultima resposta 13 de set. de 2010
Respostas 5
Participantes 2