开发者社区> 问答> 正文

spring 父类注解注入 子类不能得到值

在使用SpringMVC的时候,想要做BaseDao来完成一些共同的功能代码,之后用集成这个Dao来实现具体功能。

可是后来发现,在BaseDao中有一个属性是使用注解注入的,而且子类调用这个属性的时候是没有值得报空指针异常。

有没有什么好办法能解决这个问题?

补充下代码

public class BaseDao {
 
       //这里由spring注入
    @Autowired
    @Qualifier("sessionFactory")
    protected SessionFactory sessionFactory;
    protected Session session;
    protected Transaction tr;
 
    protected void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
        session = this.sessionFactory.getCurrentSession();
        tr = session.beginTransaction();
    }
 
}

//集成了BaseDao
public class BlogDao extends BaseDao {
    public void addBlog(Blog blog) {
        session.save(blog);
        tr.commit();
    }
 
    public int getLength() {
//抛出异常
 System.out.println(session);
        List result = session.createQuery("FROM Blogs").list();
        tr.commit();
        return result.size();
    }
}

List result = session.createQuery("FROM Blogs").list();处会出现空指针异常应该是其父类的

SessionFactory 

并没有被注入

展开
收起
a123456678 2016-03-18 14:38:25 5932 0
1 条回答
写回答
取消 提交回答
  • /**
    *这个是基础dao
    **/
    @Repository
    public class BaseDaoImpl<T> implements BaseDao<T>{
        //自动注入
        @Autowired
        private SessionFactory    sessionFactory;
    }
    /**
    *其它模块继承基础dao
    **/
    @Repository
    public class SysUserImpl extends BaseDaoImpl<SysUser> implements SysUserDao {
     
    }
    
    2019-07-17 19:06:40
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载