【问题标题】:Spring Boot application does not load spring.factoriesSpring Boot 应用程序不加载 spring.factories
【发布时间】:2021-08-13 09:06:26
【问题描述】:

我使用 Eclipse Spring boot 初始化了一个新项目,并在 src/main/resources/META-INF 下创建了 spring.factories 文件。启动时配置的 bean 不会被加载。

Spring.factories:

org.springframework.cloud.bootstrap.BootstrapConfiguration=\
net.conjur.config.ConjurConfiguration,\
net.conjur.config.ConjurPropertySourceLocator

我的应用程序类得到了一些注释:

@SpringBootApplication
@SpringBootConfiguration
@EnableAutoConfiguration

例如,其中一个 bean 如下所示:

@Configuration
public class ConjurConfiguration {
@Bean
public ConjurPropertySource getConjurPropertySource() {
return new ConjurPropertySource();
}
}

我已经试过了:

  1. 将项目中的 META-INF 文件夹移动到不同的位置,但没有任何运气。
  2. 我尝试使用资源加载器从主应用程序加载文件,但也没有成功

【问题讨论】:

  • 您使用的是什么版本的 Spring Boot 和 Spring Cloud?
  • 这是我的 pom 的一小部分:org.springframework.bootspring-boot-starter-parent2.4 .5 POM 的其余部分没有提到任何其他版本。
  • 要让BootstrapConfiguration 工作,您需要使用 Spring Cloud。
  • 我使用spring cloud作为依赖:org.springframework.cloudspring-cloud-starter Is'这还不够吗?哦,对不起,我错过了一个依赖和一个版本:2020.0.2
  • 这是正确的方法,还是我错过了什么?

标签: java spring spring-boot spring-cloud


【解决方案1】:

在 Spring Cloud 2020.0 及更高版本中默认禁用 Bootstrap 配置的处理。要重新启用它,请设置spring.cloud.bootstrap.enabled=true

【讨论】:

  • 在初创公司中注册 Bean 的新方法是什么?
猜你喜欢
  • 2018-07-14
  • 2019-04-26
  • 2019-06-16
  • 2021-08-15
  • 2018-09-06
  • 1970-01-01
  • 2019-05-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多