SuperDAO.java
package com.bebig.dao.impl;

import javax.annotation.Resource;

import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Repository;

@Repository
public class SuperDAO {
    
private HibernateTemplate hibernateTemplate;

    @Resource
    
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
        
this.hibernateTemplate = hibernateTemplate;
    }


    
public HibernateTemplate getHibernateTemplate() {
        
return hibernateTemplate;
    }


}

以上的hibernateTemplate属性由Spring注入,其它DAO则可以直接继承自它,而不用再次注入即可完成操作。
LogDAOImpl.java
package com.bebig.dao.impl;


import org.springframework.stereotype.Repository;

import com.bebig.dao.LogDAO;
import com.bebig.model.Log;

@Repository
public class LogDAOImpl extends SuperDAO implements LogDAO {

    @Override
    
public void save(Log log) {
        
this.getHibernateTemplate().save(log);
    }


}

UserDAOImpl.java
package com.bebig.dao.impl;


import org.springframework.stereotype.Repository;
import com.bebig.dao.UserDAO;
import com.bebig.model.User;

@Repository
public class UserDAOImpl extends SuperDAO implements UserDAO {

    @Override
    
public void save(User u) {
        
this.getHibernateTemplate().save(u);
    }


}