spring+hibernate的Model部分一般是这样的结构:
映射类:Student
Dao接口:StudentDao
Dao实现类:StudentDaoImpl
业务类:*Service
在Dao实现类里,出现了第一次注入:sessionFactory
在业务类里,出现了第二次注入:Dao实现类
所以,不要new任何Dao实现类和业务类,否则new出来的那个对象无法实例化,因为没有注入,然后就出现了NullPointerException异常。
其实,spring+hibernate的Model结构都是一层一层向上堆叠的,代码最好不要跨层,保持良好的代码风格。