你整合spring,你不需要写sessionfactory的吗
|
|
整合的话,你的sessionfactory至少要注入到某些类下吧?在对应的那个类下get就是了。
|
|
10分 |
你也可以写一个类继承ApplicationContextAware public class SpringContextUtils implements ApplicationContextAware { private static ApplicationContext applicationContext; public void setApplicationContext(ApplicationContext _applicationContext) throws BeansException { applicationContext = _applicationContext; } /** * 可以得到spring管理的bean */ public static Object getBean(String beanName) { return applicationContext.getBean(beanName); } 通过这个类就可以得到spirng管理的所有bean了 |
这是我的sessionfactory
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean”> <property name=”dataSource”> <ref bean=”dataSource” /> </property> <property name=”hibernateProperties”> <props> <prop key=”hibernate.dialect”> org.hibernate.dialect.MySQLDialect </prop> <prop key=”hibernate.Show_sql”> true </prop> <prop key=”hibernate.hbm2ddl.auto”>create</prop> </props> </property> <property name=”mappingResources”> <list> <value>test/vo/CwManager.hbm.xml</value></list> </property> <property name=”annotatedClasses”> <list> <value>test.vo.user</value></list> </property></bean> |
|
怎么get求指教··
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean”> <property name=”dataSource”> <ref bean=”dataSource” /> </property> <property name=”hibernateProperties”> <props> <prop key=”hibernate.dialect”> org.hibernate.dialect.MySQLDialect </prop> <prop key=”hibernate.Show_sql”> true </prop> <prop key=”hibernate.hbm2ddl.auto”>create</prop> </props> </property> <property name=”mappingResources”> <list> <value>test/vo/CwManager.hbm.xml</value></list> </property> <property name=”annotatedClasses”> <list> <value>test.vo.user</value></list> </property></bean> |
|
10分 |
// TestManager get set sessionFactory , <bean id=“testManager” class=""x.x.x.TestManager"" > <property name="sessionFactory" ref="sessionFactory"/> <bean/> |
原来是指这个,这个配置一早就有了,现在的问题是No setter found for property “”sessionFactory”” in class…,实际是写了set方法的,用继承HibernateDaoSupport的方法没问题,就是想用知道用sessionFactory不行的原因在哪
|
|
你的类怎么写的,贴出来 |
|
package test.dao; import java.util.Iterator; import org.hibernate.Query; import hubin.daointerface.IDoubiTest; public class DoubiDao implements IDoubiTest { private static SessionFactory sessionFactory; /** /** /** public static void setSessionFactory(SessionFactory sessionFactory) { } |
|
10分 |
public static void setSessionFactory(SessionFactory sessionFactory) {
DoubiDao.sessionFactory = sessionFactory; } 这个不能是静态方法 |
我把这两个地方的静态去掉了,结果这里出现空指针异常了 Session session =sessionFactory.openSession(); |
|
那肯定是你初始化dao的方式错了,难道你是new dao |
|
果然如此··多谢了 写测试类没注意·· |