java - 为使用 @ConfigurationProperties 注释的类获取 NoSuchBeanDefinitionException
问题描述
我有一个使用@ConfigurationProperties 注释的类的外部库。但是,当我在我的项目中使用它时,它会给出NoSuchBeanDefinitionException
. 我该如何解决这个问题?
层次结构看起来像这样
@Test //class where I am trying to autowire B
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = {config.class})
public class A extends AbstractTestNGSpringContextTests {
@Autowire
private B b;
}
...}
@Configuration
@Import({config2.class})
public class B extends AnotherClass {...}
//cannot edit these files
public abstract class AnotherClass extends AbstractConfig {
//cannot edit these files
@Configuration
@Import({C.class})
@EnableConfigurationProperties({xyz.class})
public abstract class AbstractConfig extends WebMvcConfigurationSupport implements AbstractConfigInterface {..}
//cannot edit these files
@Configuration
@EnableConfigurationProperties({Properties.class})
public class C {
public C() {
}
}
@ConfigurationProperties(
prefix = "abc"
)
public class Properties {...}
我得到的例外是Unsatisfied dependency expressed through field 'Properties'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com....Properties' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
有人能帮忙吗?
解决方案
推荐阅读
- bash - 在多个相似变量的第一个或集合末尾创建换行符
- javascript - 根据站点 URL 更改 chrome 扩展中的图标
- r - 加入 2 个具有条件和不同行数的表
- node.js - 多个模式的嵌套查询
- php - 使用 Vimeo API 上传字幕
- strapi - Strapi Json 数据不是来自所见即所得的正确格式
- ibm-doors - 为什么 DXL 脚本可以在 DOORS 中运行,但在批处理模式下运行时不能运行的一些常见原因是什么?
- java - 在 Java 与 Kotlin 中表达协变和逆变
- java - 将输入和输出数据加载并保存到文本文件中(不工作)
- javascript - 有没有办法使用 react-leaflet 添加 MultiPolyline 组件?