service手动实例化(new)导致类中的spring对象无法注入的问题解决

 

 


下面说的这个画横线的可能是错误的,因为我之前用controller继承父类的注解对象的时候成功了,所以可能这次的唯一原因就是

不该把本该从ioc容器中拿出的对象通过new的方式实例化,至于继承注解对象应该是可以的。

首先,如果打算用继承,那么父类被注入的对象是无法继承的,手动注入即可,比如 @Autowired,

因为本质上是从spring ioc容器中拿对象,所以像这种想要继承父类service中通过@Autowired注入的对象的目的是实现不了的,只能手动注入。

(比如这次我通过把父类service中的通过注解注入的对象加上 public,然后让子service试图继承过来,实际上是不可行的,是注入不了的)

Service对象,必须通过spring注入的方式声明,不能new一个出来,否则Service中的对象将无法被spring注入,比如mapper。

 

例如:

这里的 addGroupService 之前是通过 new 出来的,结果导致里 Service 里面的mapper 为空,

所以只要用spring的方式注入这个service就行了,例如 @Autowired

这里我把 AddGroupService addGroupService = new AddGroupService(); 注释掉了,然后 @Autowired 一个 AddGroupService 对象,然后就成功注入了

 

转载于:https://www.cnblogs.com/kinome/p/10190373.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值