gpt4 book ai didi

java - NoSuchBeanDefinitionException : No qualifying bean of type available: expected at least 1 bean which qualifies as autowire candidate

转载 作者:行者123 更新时间:2023-11-29 04:17:31 26 4
gpt4 key购买 nike

我正在尝试将 Spring 4.x.x 迁移到 Spring boot,它依赖于外部 spring 2.5 jar 中的类。我已经进行了所有 Autowiring 更改,下面是我的应用程序类

@SpringBootApplication
@EnableAutoConfiguration
@ComponentScan(basePackages = { "com.xyz" })
public class MainApiApplication {

public static void main(String[] args) {
SpringApplication.run(MainApiApplication.class, args);
}
}

外部 jar 中的依赖类存在于 com.xyz.abc 包下,因此我将我的主要应用程序类放在 com.xyz 包下,并在同一包下添加了组件扫描

这是我的组件类,具有 Autowiring 的依赖性

@Component
public class ComponentClassA {
@Autowired
private ComponentClassB currencyService;
}

@Component
public class ComponentClassB {

@Autowired
private DependentClass depClass;
}

DependentClass 是我在本地附加和构建的外部依赖 jar 中存在的类

构建应用时,所有文件编译正常,构建生成成功。但是当我启动应用程序时,出现以下错误

 Field DependentClass in com.xyz.ComponentClassB required a bean of type 'com.xyz.common.util.DependentClass' that could not be found.

我不明白为什么找不到来自外部 jar 的类,因为我已经为包添加了组件扫描

DependentClass的定义如下

public class DependentClass extends ResourceClass<Map<String, Double>> {
// Methods and logic
}

是因为 DependentClass 扩展了一个类吗?有人可以帮我找出错误的原因吗?

最佳答案

DependentClass 上没有 @Component 注释。因此,您需要通过 XML 或 Java 配置自己创建一个 DependentClass 的 bean。

并且您不必将主类放在与 DependentClass 相同的包下。

关于java - NoSuchBeanDefinitionException : No qualifying bean of type available: expected at least 1 bean which qualifies as autowire candidate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51384800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com