Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException

本文详细解析了在Spring框架中遇到的NoSuchBeanDefinitionException异常,包括ResourceBundle和具体类如SftpConnectCommand的依赖注入问题,并提供了有效的解决方案。同时,文章还探讨了@Component注解在接口和类上的使用区别。

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.ResourceBundle' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 解决:

@Component
public class TaskProperties {
	public TaskProperties(ResourceBundle resourceBundle) {

TaskProperties是component,构造方法入参有ResourceBundle,但ResourceBundle不是component导致。 把TaskProperties设置为不是@Component。

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: 
No qualifying bean of type 'com..transfer.ftp2.SftpConnectCommand' available: 
expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: 
{@org.springframework.beans.factory.annotation.Autowired(required=true)}

解决:

@Autowired
SftpConnectCommand sftpConnectCommand;

@Component
public interface Command {

解决:接口为@Component不行,需要实现类为@Compoenent。 增加:

@Component
public class SftpConnectCommand implements Command {

public interface TaskCommandInvoker {

@Component
public class DefaultTaskCommandInvoker implements TaskCommandInvoker {

@Autowired
TaskCommandInvoker taskCommandInvoker;

interface不需要@Component,也可以注入。

转载于:https://my.oschina.net/u/2464371/blog/2877943

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值