Problemas para Instanciar um Dao

4 respostas
C

ola galera nao estou conseguindo que meu contrutor do controler instancie a classe DAO

olhe o meu codigo

@Entity
@Component
public class Cheque implements Serializable{
    @Id
    private int id;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date vencimento;
    @Column(scale=2,precision=12)
    private BigDecimal valor;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date diabaixa;

Meu DAO

@Component
public class ChequeDAO  {
  private Session session;

  public ChequeDAO(Session session){
     this.session = session;
  }
 public void salvar(Cheque cheque) throws Exception {
     session.beginTransaction();
     session.saveOrUpdate(cheque);
     session.beginTransaction().commit();
 }

Meu web.xml

<context-param>
        <param-name>br.com.caelum.vraptor.provider</param-name>
        <param-value>br.com.caelum.vraptor.util.hibernate.HibernateCustomProvider</param-value>
     </context-param>

IndexController

@Resource
public class IndexController {
    private Result result;
    private Validator validator;
   
    private Userinfo userinfo;
    private ChequeDAO dao;

    public IndexController(Result result,Validator validator,Userinfo userinfo,ChequeDAO dao){
        this.result=result;
        this.validator=validator;
        this.userinfo=userinfo;
        this.dao= dao;
    }

Acontece esse erro na pagina

4 Respostas

Alexandre_Saudate

Isso é pau do Spring… ele não encontrou seu DAO.

cheque o mapeamento.

C

Mas onde faço esse mapeamento utilizando VRaptor 3?

G

cpmmarcelo, quais os pacotes você definiu para o vraptor fazer scan? Essa dao está abaixo desses pacotes?

Lembre-se que o vraptor usa spring ou pico por baixo, mas você nem precisa se preocupar com isso, pois o vraptor cuida disso para você. Você só precisa anotar essa DAO como @Component e tudo funciona :smiley:

C

garcia-jj, realmente era um problema de pacotes mesmo!!!
faltou prestar um pouco mais de atenção na documentação.

value pela dica

Criado 16 de dezembro de 2009
Ultima resposta 16 de dez. de 2009
Respostas 4
Participantes 3