当前位置: 首页 > 知识库问答 >
问题:

Spring:依赖库中的自动配置bean没有在Spring上下文中加载

晏永康
2023-03-14

我正在使用Spring boot开发一些Java项目。我在spring中有一个自动配置的类MyAutoConfig。工厂项目中的文件a。

这个配置文件有一些bean定义,例如类Worker

项目B使用A作为库,在gradle中如下所示:

implementation project(':project-A')

我可以在没有任何错误的情况下启动项目B。但是当我试图在主类中的项目B中使用@autowiledWorker,其中我有@SpringBootConfiguration,它告诉我“预期至少有1个bean有资格作为autowire候选”,所以我假设bean不在上下文中。

我想知道可能是什么问题?

共有1个答案

卫松
2023-03-14

@SpringBootConfiguration对于自动配置来说是不够的。您应该添加@EnableAutoConfiguration。这将触发扫描spring.factories文件,并为您完成其余工作。

或者使用@SpringBootApplication,因为它有EnableAutoConfiguration

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication
 类似资料:
  • 问题内容: 是否可以在用Java编写的Spring配置中使用Spring的注释? 例如: 显然,不能直接实例化DataSource接口,但是为了简化起见,我在这里直接实例化了它。当前,当我尝试上述操作时,数据源对象仍然为null,并且Spring不会对其进行自动接线。 我通过返回一个Hibernate 对象成功地工作了。 所以我的问题特别是:是否有办法针对a ?或更笼统地说,在Spring Jav

  • 我有两个应用程序: > 应用程序父应用程序:Spring Boot应用程序。将应用程序子级用作库。 是否可以加载XML中定义的所有bean,并将它们放入上下文中?

  • 问题: 我在软件中有3个部分: 客户A服务 客户B服务 目标C服务 我想从A和B连接到C 我写了一个库,设置如下: /src/main/java/pkg/TargetConnector。爪哇 我的客户A和B都有自己的来源和财产: /src/main/java/pkg/客户端{A/B}服务。爪哇 /src/main/java/pkg/客户端{A/B}配置。爪哇 /src/main/resources

  • 我尝试在bean部分中使用环境: 但环境中只有系统属性 所以问题是如何从application.yml加载配置,以及如何以这样的函数式实现@ConfigurationProperties的模拟? 注释、和开始工作。但是注释仅存在于依赖项中,而yml解析类仅存在于中。 在包含依赖项并将添加到beans部分之后,注释开始工作,但也未包含来自application.yml的配置。所以我增加了这一节: 到

  • 我想提供一个特定的Bean,以便这个Bean覆盖Spring Cloud AutoConfiguration类中的Bean。 我还尝试使用自动配置。但是甚至注释也被忽略。 我的配置类bean总是在KubernetesClientAutoConfiguration类中的bean之后实例化。因此,AutoConfiguration类不使用我的bean。 文档说:在任何时候,您都可以开始定义自己的配置,

  • 基本上,我想问的是:将Spring Boot自动配置的bean自动导入XML配置文件的等价物是什么? 下面是我的主要Spring Boot入口点,它只是所有文档中列出的标准类: 我主要在一个Spring集成应用程序中使用它,在这个应用程序中Java配置还没有得到很好的支持,框架的核心是基于XML配置的,但是我希望在一些集成元素中使用Spring Boot自动配置的和bean。 https://gi