下面说的这个画横线的可能是错误的,因为我之前用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 对象,然后就成功注入了


本文解析了在Spring框架中正确使用IoC容器进行Service对象注入的重要性,强调了不应直接使用new创建Service实例,而应利用@Autowired注解从Spring IoC容器中获取已注入的对象。文章通过实例说明了直接new Service对象导致mapper为空的问题,并给出了正确的解决方法。
导致类中的spring对象无法注入的问题解决&spm=1001.2101.3001.5002&articleId=102399125&d=1&t=3&u=31b2fe27fdf34e5e9a92b33af9c2d89a)
986

被折叠的 条评论
为什么被折叠?



