• 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 对象,然后就成功注入了

  • 相关阅读:
    给窗体加个圣诞帽——抛砖引玉
    《高手寂寞》随感
    离职日记-计划与变化
    什么样的生活
    这一年……
    写在2011第一天的工作前
    Visual C++ 学习笔记四 —— 模板
    bugfree安装与配置
    QTP环境变量的使用
    测试提问单[转]
  • 原文地址:https://www.cnblogs.com/kinome/p/10190373.html
Copyright © 2020-2023  润新知