关于spring使用@Autowired注解向非controller类中注入bean失败问题-临时记录

例如:

 一个正常的Service实现类如下:

@Service("taskStatusWarningService")
public class TaskStatusWarningServiceImpl implements ITaskStatusWarningService {

}

在另外一个Service中进行注入:

@Autowired
    ITaskStatusWarningService taskStatusWarningService;

启动项目时报错:

Error creating bean with name 'taskSchedulingServiceBean': Unsatisfied dependency expressed through field 'taskStatusWarningService';
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type 'com.tencent.fit.fdata.console.service.ITaskStatusWarningService'
available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations:
{@org.springframework.beans.factory.annotation.Autowired(required=true)}

解决方法:

在spring的service.xml文件中手动注入bean配置:

<bean id="taskStatusWarningService"
          class="com.tencent.fit.fdata.console.service.impl.TaskStatusWarningServiceImpl">
</bean>

其他:

此问题暂时没有深入了解背后的原理,待后续有时间再了解,相关文章先贴下地址。

1、关于bean对象相互依赖注入的问题:https://blog.csdn.net/w1lgy/article/details/81086171

猜你喜欢

转载自www.cnblogs.com/bzq-nancy/p/12303771.html