public class MytestDAO extends HibernateDaoSupport {
public List findAll() {
try {
String queryString = "from User";
return getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
throw re;
}
}
public static void main(String[] args) {
MytestDAO dao=new MytestDAO();
System.out.print(dao.findAll().size());
}} //自己写的测试类
public class test {
public static void main(String[] args) {
ApplicationContext con=new ClassPathXmlApplicationContext("applicationContext.xml");
MytestDAO dao=(MytestDAO)con.getBean("MytestDAO");
System.out.print(dao.findAll().size());
}}
我搭建好了ssh框架,什么都配好了,其实就是一个能运行的项目,然后突发奇想写了两个main方法测试,在dao里面的会报空指针异常,调试发现红色部分getHibernateTemplate()为空,但是下面那个是我写的一个测试类,它却没有异常,正确查出数据,这是为什么呢,高手解释一下
解决方案 »
- 求解深入理解hibernate一级缓存机制的理解及spring管理bean的使用
- 严重: Exception starting filter struts2(帮忙看下)
- 从JSP或Action中如何获得textarea的值
- 建立socket连接,将消息发送到127.0.0.1 8991端口
- 为何java多线程实现数据查询插入越来越慢?
- 大家帮忙看看这个问题好吗?弄了两天了
- 请教各位大哥前辈牛人们!!严重救命中~~~
- 是知道.sql的MIME类型是什么啊。。
- java采集网络广播内容,调研了两天没有
- (急)DTD XML 问题,请高手帮帮忙, 先谢了.
- 静态网页文章分页功能
- 请教jfreechart的两个问题.
dao中的main方法没有读取配置文件,所以就获取不到HibernateTemplate,就为空了.
我还是第一次看见在持久层写main方法测试的呢,你的测试不在spring的事物管理范畴之内,你是通过new来创建的Dao对象,而不是通过spring注入得到的,所以你要自己维护事物,自己创建sessionFactorgy对象,自己beginTransaction, commitTransaction, rollBack......