整合ssh后如何获取同一个session
在dao数据访问层操作数据库时用同一个Session,以前JDBC用构造器获取的
public class BookDao extends HibernateDaoSupport {
private Session se;
public BookDao(){
se=this.getSession();
}
public void save(Book book) {
se.save(book);
}
整合SSH后报这类错误
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'BookDao' defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.gdpi.dao.BookDao]: Constructor threw exception; nested exception is java.lang.NullPointerException
applicationContext.xml的BookDao注入方式如下
<bean id="BookDao" class="com.gdpi.dao.BookDao">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
改成如下代码可以,但每次save当获得一个新的session
public class BookDao extends HibernateDaoSupport {
private Session se;
public void save(Book book) {
se=this.getSession();
se.save(book);
}
通过MyEclipse自动生成所需要的包,版本在标签里有。
试过各种方法,包括用sping注入session等,刚接触ssh来做实训,求清晰思路! session ssh spring3.0 struts2.1 hibernate3.3
[解决办法]
很好,通过自己努力解决了,求分。