SSH-运行main函数,一直报空指针,调依赖注入配置的dao
解决this.getHibernateTemplate()==null的问题
刚刚在整合SSH时碰到了这样一个问题:
当我用junit测试时不会报任何异常,数据也都能得到
但当我运行man函数,直接new对象进行调用方法时,永远都是null
调试:
1、this.getHibernateTemplate()确实为空
2、我的applicationContext.xml文件没有错误
3、我为什么用spring.主要是用IOC
使用spring是要用到它的依赖注入的,而直接new出来的是没有依赖注入的,故对象没有初始化。
EmployeeDao dao=new EmployeeDaoImpl(); dao.getCounts("");
这里不存在依赖注入,也就自然而然地报空指针异常。
解决办法:
在main方法中,不要对EmployeeDao进行初始化,而是通过配置文件applicationContext.xml来获取。
ClassPathXmlApplicationContext resource = new ClassPathXmlApplicationContext("applicationContext.xml");; EmployeeDao dao=(EmployeeDao) resource.getBean("empdao"); System.out.println(dao.getCounts(""));
如果您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】
本文版权归作者和博客园共有,欢迎转载