问题标签 [spring-boot-configuration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
37 浏览

spring-boot - 来自外部属性文件的弹簧组配置文件

我正在从外部文件设置我的数据库属性,并尝试对活动配置文件执行相同的操作,但没有任何运气。

如果尝试在 app.propertiesspring.config.location= C:\\run\\secrets\\test中:但这不起作用。

在我尝试过读取数据库属性的同一个配置文件中:

在我的外部文件中,我已经尝试 spring.profiles.active=devspring.profiles.default=dev

似乎没有任何效果。

0 投票
1 回答
171 浏览

java - Spring Boot 2 - 在@Configuration 之前加载@Component

我有一个 Spring Boot 应用程序和两个来自我正在使用的不同 jar 的类,其中一个是 @Component,另一个是 @Configuration。
它们都有@PostConstruct 方法,基本上这是我的用例-> 我希望@Configuration 的@PostConstruct 在@Component 的@PostConstruct 之前运行。有可能以某种方式实现这一目标吗?
我尝试在@Component 上使用@DependsOn(引用@Configuration - 里面没有任何bean - 只有@PostConstruct),但它不起作用。
这是代码片段。
第一个文件:

第二个文件。

非常感谢提前

0 投票
1 回答
276 浏览

java - 如何使 Spring Boot 连接到外部 API

我正在代理服务器后面开发一个 Spring Boot 应用程序。现在我需要连接到外部 API,但我还没有弄清楚要配置什么以使应用程序能够连接到外部 API,我已经尝试使用程序参数传递代理数据并且我已经尝试过在 Java 控制面板中配置代理。如何让应用程序使用代理来访问 API?

0 投票
1 回答
55 浏览

spring-boot - 在 spring-boot application.yaml 中从其他地方引用配置部分

我正在配置 spring boot kafka 流application.yaml。我需要配置输出主题的属性:

因为我在整个文件中具有相同的配置,所以我想在哪里定义值:

但这topic.properties只是传递给底层 kafka 库的通用映射。为了使配置更加灵活,我想参考my. producer.topic.properties因此,当添加新的 kafka 属性时,只会my更新部分。

我试过了:

但这不起作用 -${my}被替换my.toString()并且配置在获取预期 Map 的字符串时失败。

我正在寻找一些部分占位符。例如,在 OpenAPI Spec 中,您可以执行以下操作:

我知道基本的 YAML 不支持引用。但是spring-boot允许引用其他配置部分有什么好处吗?

0 投票
0 回答
14 浏览

spring-boot - 如何模拟包含在包含的配置文件特定属性 SB2.4+

在 2.4 之前,我们有相当复杂的配置文件,代表如下:

因此,它表示存在大量配置文件特定属性并且其中一些包含另一个配置文件特定属性(如果feature. 实际上,有数十个依赖配置文件的结构相当复杂。

这不容易转移到 SB2.4+ 配置中,我尝试使用配置文件组来模拟它并得到类似的东西:

但这并没有真正起作用,因为我在feature2-beta属性文件中包含了属性。

我不能使用config.profile.import任何一个,因为它只是盲目地导入另一个文档而不将配置文件名称添加到活动配置文件列表中,这对于我们使用的某些地方可能需要@Profile(...)

我想知道在不将所有配置文件扁平化为应用程序级别的配置文件组的情况下模拟这一点的最佳方法是什么,因为它会给大型项目带来很多痛苦?

正在考虑,如果可以进行以下操作,它将解决问题:

因此,可以为依赖配置文件定义组,这将允许设置我们迄今为止所拥有的如此复杂的 SB 配置。

0 投票
3 回答
253 浏览

java - 如何将 SpringBoot 配置外部文件覆盖到类路径文件?

当我通过命令行运行 jar 时,我想将SpringBoot外部的一些配置覆盖到类路径文件中。

类路径 -> application-config.yaml(不是 application.yaml)

外部 -> D:/test/application-config-override.yaml

命令

当我运行上面的推荐时,应用程序正在运行 8080,contextPath 是“myapp”。我的预期是 http://localhost:9090/myapp

但是,如果我将所有相同的配置结构application-config.yaml放入application-config-override.yaml如下

应用程序配置覆盖.yaml

应用程序正在运行 9090,contextPath 是“yourapp”。

如何将 SpringBoot 外部的一些配置覆盖到类路径文件中?我正在使用 2.5.4。

我不想将一些不必要的配置导出到外部。我想按顺序排列和覆盖。

0 投票
0 回答
15 浏览

spring-boot - 请参阅已解决的多配置文件 Spring Boot 配置

我有一个 spring boot 项目,其中包含多文档配置文件配置和基于 profile 的条件激活。一些条件激活的属性会覆盖通用配置中设置的值。解决所有配置文件和配置后,有没有办法可以查看配置的外观?

我已经寻找了一些可以设置的属性,以便在初始化 bean 之前获得配置的输出,但什么也没找到。

特别是,我有一个 redis sentinel 设置,当配置文件prod处于aws活动状态时我正在取消设置,但是当我运行我的应用程序时,看起来该值没有被取消设置,因为我收到了一个哨兵异常。

应用程序.yml

0 投票
1 回答
43 浏览

java - 地图在 java 中的 @ConfigurationProperties 的 yaml 文件中?

您好,我在 Spring Boot 项目中有一个配置类,看起来像这样。

如何在 application.yaml 文件中为 userProperties 赋值?

0 投票
0 回答
47 浏览

spring - 如何获取 @ConditionalOnExpression 注释中可用的自定义配置值

我正在尝试根据部署的“功能”启用特定的 bean,例如休息接口、消息使用者、索引器、存档器和管理门户。在某些情况下,应用程序应该具有所有、部分或一种“功能”,例如 local、dev 和 qa 应该具有所有功能,但在暂存和生产中,功能应该被隔离,以便它们可以提高性能,像内存,线程等...

为此,我根据通过命令行传入的功能设置了自定义配置。我正在使用 ConfigurationProperties 来确定每个“功能”是否应该可用。我有一个自定义配置:

然后我有一个自定义注释:

但是当我将它添加到这样的 bean 定义中时:

我收到以下错误:Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'functionalityConfig' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext' - maybe not public?

如果我摆脱@ConditionalOnExpression注释,一切正常,另外:

在 Application 类中,我有以下几行:

他们完美地工作。我试图弄清楚为什么@ConditionalOnExpression没有捡起它。我什@EnableConfigurationProperties(FunctionalityConfig.class)至在应用程序中添加了注释,但没有更改异常。

0 投票
1 回答
65 浏览

java - Spring Boot 应用看不到配置文件

我是 Spring Boot 的新手。而且我觉得我有一些配置问题。

我想business-config.yml使用数据创建文件以进行业务验证。但是无论我把它放在哪里,Spring 都看不到这个文件。并且没有任何异常或错误。应用程序成功读取了文件application.ymlbootstrap.yml并且我在执行器中看到了它们的所有值。但是business-config.yml执行器中的任何新文件都没有值。如何正确指向它以正确设置它? 在此处输入图像描述

为什么这些文件会有application.yml这样bootstrap.yml一个弹簧图标形式的绿色图标?这个怎么设置?您需要在哪里指定和注册这些文件?