[RESOLVIDO]Listar com Hibernate+ VRaptor

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

[code]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();
	
}

}
[/code]

e o DAO

[code]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();
}

}
[/code]

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

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