@Autowired 的成员变量,报空指针错误

比如 你
class LoginService {
@Autowired
private UserDao userDao;

public void execute(){
...
userDao.insert(...);
...
}
}


里面的userDao这里报空指针错误,其中的一个原因是你没有给userDao这个成员变量写set方法,这样spring就没有办法帮你自动的装载。

---
我刚发现不是上面说的这个原因。


而是我在另外一个地方使用了LoginService,比如 TestAction吧

class TestAction{

public void fun1(){
LoginService loginService = new LoginService(); //错就在这里
loginService......
}
}

正确的做法:

class TestAction{
@Autowired
private LoginService loginService;

public void fun1(){

loginService......
}
}

意思就是说,你不能自己人工的去new一个LoginService,这样做的话,spring是不会帮你
把LoginService里的那个需要被Autowired的userDao给装载上的。

你通过写
@Autowired
private LoginService loginService;

这样就是spring帮你把这个loginService给你实例化出来,那么在那个过程中,它就会帮你把里面的那个userDao根据你当初定义的方式给你装载上。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值