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(""));

 

posted @ 2017-03-14 09:06  sincoolvip  阅读(1608)  评论(0编辑  收藏  举报