zoukankan      html  css  js  c++  java
  • 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 对象,然后就成功注入了

  • 相关阅读:
    Token-Pasting Operator (##) and Stringizing Operator (#)
    记录Debug神经网络的方法
    正则表达式备忘
    概率论备忘
    tensorflow学习
    实现trie树
    数组练习
    递归实现简单实例
    蛇形三角矩阵
    近期工作---Linux下基于Cuckoo沙箱的API适配问题
  • 原文地址:https://www.cnblogs.com/kinome/p/10190373.html
Copyright © 2011-2022 走看看