当前位置:编程学习 > JAVA >>

如何在service层实例化持久层对象

在一个系统中,我要修改用户密码,新密码和旧密码以及用户ID从页面传到action,再从action传到service层,在这里进行了新密码与旧密码是否相同的判断,如果不相同,就在service层实例化一个user对象,然后设置好新密码,用户ID,然后把更新的对象传给Dao进行Update,但是却出现空指针错,应该是无法获取user对象。。代码如下:

service层引用user类:
private User user;

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}


处理密码更新的service代码:
if(user_id == 0) {
return RELOGIN_NEEDED;
}
else if(password.equals(newPassword)) {
return SAME_PASSWORD;
}
else {
this.getUser().setUser_id(user_id);
this.getUser().setPassword(newPassword);

userDao.updateUser(user);
return PASSWORD_CHANGED;


出现的报错信息:Line number: 248 

Stacktraces
java.lang.NullPointerException 

如果说是配置文件错误,那service层bean怎样引用实体类bean?
我的service层bean配置如下:

<bean id="userManager" class="cn.hnust.luo.EBank.service.impl.UserManagerImpl">
<property name="userDao">
<ref bean="userDao"/>
</property>
<property name="accountDao">
<ref bean="accountDao"/>
</property>
<property name="tradeDao">
<ref bean="tradeDao"/>
</property>
</bean>
--------------------编程问答-------------------- dao没注入?user 没new?还是查不出来 所以空了? --------------------编程问答-------------------- 248行是哪行啊?

如果是这行:userDao.updateUser(user);就是你的dao没有注入过来 --------------------编程问答-------------------- 注入dao。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,