Spring依赖注入问题 tomcat启动时候set方法可以进入,拿到实例。但是启动好拿这个对象就为null.
Spring依赖注入问题tomcat启动时候set方法可以进入,拿到实例。但是启动好拿这个对象就为null,比如给dao层注入hibernateTemplate,启动时候...
Spring依赖注入问题 tomcat启动时候set方法可以进入,拿到实例。
但是启动好拿这个对象就为null,
比如给dao层注入hibernateTemplate, 启动时候进入set方法,可以打出hibernate实例,但是启动好再拿hibernateTemplate就为空了 展开
但是启动好拿这个对象就为null,
比如给dao层注入hibernateTemplate, 启动时候进入set方法,可以打出hibernate实例,但是启动好再拿hibernateTemplate就为空了 展开
2个回答
展开全部
因为默认的spring bean的加载方式是单例的
bean的默认标签 scope="singleton"(默认)
所以一次只能出来一个hibernate实例 你直接调用就可以
如果想每次都获得新的实例
那么要在bean上添加scope="prototype"
欢迎追问
bean的默认标签 scope="singleton"(默认)
所以一次只能出来一个hibernate实例 你直接调用就可以
如果想每次都获得新的实例
那么要在bean上添加scope="prototype"
欢迎追问
追问
改成prototype,启动tomcat set方法都进不去了
我调用action,还是报空指针异常
追答
你改回去 dao层应该用单例模式没错 应该是你dao的实现类写的有问题
看下我写的代码
public class UserDAOhibernateImpl extends HibernateDaoSupport implements UserDAO {
public void save(User user) throws Exception {
this.getHibernateTemplate().save(user);
}
一个简单的save方法 尽量不用set注入 直接实现hibernate给你的HibernateDaoSupport类 然后直接调用HibernateTemplate
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询