SSH的问题及解决方案
hibernate 空指针异常
@Service
public class TeacherService {
TeacherDao teacherDao = new TeacherDao();//1
}
1、这个地方如果是new的对象,下面在调用getHibernateTemplate就会空指针
@Service
public class TeacherService {
@Autowired
TeacherDao teacherDao;//1
}
1、@Autowired会自动把需要的参数以及父类需要的参数注入进去。
public class TeacherDao extends HibernateDaoSupport {
public TeacherEntity login(TeacherEntity teacherEntity) {
//这个hibernateTemplate是空指针
HibernateTemplate hibernateTemplate = this.getHibernateTemplate();// 1
List<TeacherEntity> list = hibernateTemplate.find("from TeacherEntity where tname=? and pass=? ", new Object[]{teacherEntity.getTname(), teacherEntity.getPass()});//2. 实际报错的一句
}
1、这里空指针是因为getHibernateTemplate创建HibernateTemplate需要一个sessionFactory 如果是spring注解注入去创建对象会自动注入进去,配置好sessionFactory 就能自动注入进去。
但是如果是new的对象,就缺少sessionFactory 。