[RESOLVIDO]Listar com Hibernate+ VRaptor

1 resposta
C

Olá pessoal , após uma semana longe , voltei a estudar VRaptor...

Porém ao tentar fazer uma listagem simples estou tendo problemas(provavelmente com o Spring).
O Dao esta anotado como Component(creio que seja para liberar acesso ao VRaptor para pode instanciar o DAO em uma dependencia).

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.hibernate.Session] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:920)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:789)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:795)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:723)
	... 54 more

O Controller

package br.com.caelum.goodbuy.controller;

import java.util.List;

import br.com.caelum.goodbuy.infra.ProdutoDAO;
import br.com.caelum.goodbuy.modelo.Produto;
import br.com.caelum.vraptor.Resource;

@Resource
public class ProdutosController {
	private final ProdutoDAO dao;
	
	public ProdutosController(ProdutoDAO dao){
		this.dao = dao;
		
	}
	
	public List<Produto> lista() {
		return dao.listaTudo();
		
	}
}

e o DAO

package br.com.caelum.goodbuy.infra;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;

import br.com.caelum.goodbuy.modelo.Produto;
import br.com.caelum.vraptor.ioc.Component;
@Component
public class ProdutoDAO {
	private Session session;

	public ProdutoDAO(Session session) {
		this.session = CriadorDeSession.getSession();
	}

	public void salva(Session session, Produto produto) {
		Transaction tx = session.beginTransaction();
		session.save(produto);
		tx.commit();
	}

	public void deletaProduto(Session session, Produto produto) {
		Transaction tx = session.beginTransaction();
		session.delete(produto);
		tx.commit();

	}

	public void alteraProdutos(Session session, Produto produto) {
		Transaction tx = session.beginTransaction();
		produto.setPreco(42.50);
		session.update(produto);
		tx.commit();
	}

	public List<Produto> listaTudo() {
		return this.session.createCriteria(Produto.class).list();
	}

}

1 Resposta

C

http://www.guj.com.br/java/265596-resolvidovraptor3-erro-500

Resolvi com este tópico , vou deixar aqui para quem procurar o mesmo tema.

Criado 7 de abril de 2012
Ultima resposta 7 de abr. de 2012
Respostas 1
Participantes 1