service⼿动实例化(new)导致类中的spring对象⽆法注⼊的spring ioc注解
问题解决
下⾯说的这个画横线的可能是错误的,因为我之前⽤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 对象,然后就成功注⼊了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论