Ola pessoal,
to seguindo a apostila fj28 da caelum e me deparei com um problema aqui.
aparentemente ta tudo certo, o @Resource e o @Component, mas mesmo assim da erro d injecao d dependencia.
erro:
HTTP Status 500 -type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘produtosController’: Unsatisfied dependency expressed through constructor argument with index 0 of type [br.com.goodbuy.dao.ProdutoDao]: : Error creating bean with name ‘produtoDao’: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [br.com.goodbuy.dao.ProdutoDao]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/Session; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘produtoDao’: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [br.com.goodbuy.dao.ProdutoDao]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/Session
classes:
ProdutoController
package br.com.goodbuy.controller;import java.util.List;
import br.com.caelum.vraptor.Resource; import br.com.goodbuy.dao.ProdutoDao; import br.com.goodbuy.modelo.Produto;@Resource
public class ProdutosController {private final ProdutoDao dao; public ProdutosController(ProdutoDao dao) { this.dao = dao; } public List<Produto> lista() { return dao.listaTudo(); }}
ProdutoDao
package br.com.goodbuy.dao;import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;import br.com.caelum.vraptor.ioc.Component; import br.com.goodbuy.infra.CriadorDeSession; import br.com.goodbuy.modelo.Produto;@Component
public class ProdutoDao {private final Session session; public ProdutoDao() { this.session = CriadorDeSession.getSession(); } public void salva(Produto produto) { Transaction tx = session.beginTransaction(); session.save(produto); tx.commit(); } public List<Produto> listaTudo() { return this.session.createCriteria(Produto.class).list(); }}
obrigado =)

