hibernate+spring getHibernateTemplate null请教~~~为什么
搞了一上午没有结果 来这里请教一下高人 在A类中调用B类中的find查询方法 B类继承了HibernateDaoSupport
先贴代码
applicationContext.xml
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="file:src/hibernate.cfg.xml">
</property>
</bean>
<bean id="B" class="com.B">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
接着就是B.JAVA类
public class B extends HibernateDaoSupport{
public List findList(String hql){
getHibernateTemplate().find(hql);
}
}
最后是A.JAVA
public class A{
public void test(){
B b = new B();
b.findList("select * form table");
}
}
然后就报NULL 我DEBUG了一下 发现B类中的getHibernateTemplate()本身就是NULL 网上找了一些例子 都是这么写的 可是我的却报NULL 怀疑是由于在A类中new了B导致的 请高手分析一下 到底哪里有问题
注:spring2.+hibernate3.1 分开管理没有全部交给spring
------解决方案--------------------
你的B类不能自己new出来 ,要用spring给你创建的
Java code
B b = (B) new ClassPathXmlApplicationContext("applicationContext.xml").getBean("B");