问题标签 [spring-properties]

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 回答
84 浏览

spring - 如何通过在应用程序启动时初始化的属性 bean 提供 Spring 引导属性

我有一个用例,其中我有一些包含属性的类,并在应用程序启动时从外部源初始化现在我希望 Spring Boot 自动配置的 bean 像数据源一样从这些属性类中获取属性。

例子 :

现在这个 bean 将在启动时创建并从外部源获取值。数据源 bean(sql server)的自动配置如何从这个类中获取值,以及如何在数据源之前强制初始化这个 bean。

0 投票
1 回答
2004 浏览

java - 仅当属性为 false 或未定义时如何加载 bean?

我有一个 bean,只有在属性为 false 或未定义时才应加载。如果我用以下方式注释它:

该属性myFeature1.enable必须明确设置为false. 此属性在带注释的类中定义为具有 false 默认值的布尔值@ConfigurationProperties,但此注释似乎在应用程序启动时处理得太晚,因此必须将myFeature1.enable属性用作Environment.

我尝试添加注释:

@ConditionalOnProperty不是可重复的注释。

我也尝试过使用@ConditionalOnExpression

但是属性占位符似乎被空字符串以外的东西替换了。

所以我的问题是:仅当属性为假或未定义时如何加载 bean?

0 投票
1 回答
864 浏览

java - Spring Boot 属性 vs maven pom 打包标签

我一直面临着弹簧靴和 Maven 的一些问题。

似乎<packaging>pom</packaging>标签,当添加到 时pom.xml,不知何故让spring完全不知道父级applications.properties配置文件。运行时,无论声明的属性如何,spring 仍然会显示横幅和信息级日志记录。为什么会这样?有没有办法将这些属性添加到我的父级,以便所有模块都可以在给定的配置下运行?这会成为反模式吗?

主类:

应用程序属性:

(父)pom.xml:

0 投票
0 回答
244 浏览

spring-boot - 如何对自定义 mongo 存储库进行集成测试?

这些是我在项目中所做的以下配置。

存储库代码:

集成测试代码:

这给了我以下错误:-

0 投票
1 回答
162 浏览

spring - Spring - 从 IDE 运行测试 - 如何从“application-test.properties”之类的文件中加载测试属性

如何从“application-test.properties”之类的文件中加载测试属性?

该文件存储在 src/test/resources 文件夹中。我也将文件放在所有可能的文件夹中。当作为 Maven 测试运行的一部分运行测试时,一切正常。从(IntelliJ)IDE 运行新的(单个)测试时,每次我收到相同的错误消息:

原因:java.io.FileNotFoundException:类路径资源[application-test.properties]无法打开,因为它不存在

这是测试类:

看来我必须第一次从 Maven 运行测试。这是为什么?

0 投票
3 回答
1121 浏览

java - 在 Spring 中基于前缀对 YAML 属性进行后处理以从 REST 服务中检索属性

我有一个 Spring Boot 配置 YAML,其中包含类似

我想要做的是添加某种解析器来检测b表单的值<<X>>,并将触发从外部休息 api 检索该值以在内存中覆盖 YAML 中的值之前它得到传递给在运行时保存配置的 bean

我尝试使用但失败了,EnvironmentPostProcessor因为我无法获得实际的属性值,只有属性,所以我无法对这些值进行后处理。

目前对我@Configuration有用的是包含字段的bean,a并且b在setter中实现一些东西来检测spring试图设置的值是否以开头<<和结尾>>如果是这样,用版本覆盖加载到pojo中的内容我从其余的 api 中检索。这并不理想,因为我最终有很多重复

在 Spring 5 中实现这样的事情的正确方法是什么?我知道 spring 属性支持使用语法对其他属性的引用,${a}因此必须有一些机制已经允许添加自定义占位符解析器

0 投票
2 回答
6040 浏览

java - 如何根据活动配置文件访问 application-{profile}.properties 文件

我需要访问项目位置之外的 application.properties 文件。我可以使用以下方法实现相同的目的:

现在,我想使用活动配置文件来实现相同的目标。如果开发配置文件处于活动状态,我需要获取 application-dev.properties,如果阶段配置文件处于活动状态,我想获取 application-stage.properties 等等。

我正在使用带有 Spring Boot 1.5.x 的 Windows 平台和 JAVA 8

我尝试在 application.properties 文件中设置活动配置文件。但它不起作用

0 投票
2 回答
741 浏览

spring-boot - 在运行时将列表元素添加到 Spring 属性

我有一个application.yml包含以下内容的文件:

我希望能够在运行时更新或添加新的主题对象。

我尝试了以下方法来更新现有对象:

以及将另一个对象添加到列表中的以下内容:

我通过以下方式访问属性:

WhereTopicConfiguration只是一个列出了 3 个字段的 POJO。

当我不尝试在运行时修改任何属性对象时,这完全符合我的预期,但是我根本无法更新属性列表。当我尝试更新现有对象时,我得到一个 NPE。当我尝试将新对象添加到列表中时,我得到:

application.yml我只想知道是否有任何方法可以在运行时更新或添加元素到列表中,这样我的项目的用户如果想要更新此配置就不必进行修改。

0 投票
1 回答
35 浏览

spring-boot - 如何从命令行插入其他属性?

我想让 Spring Boot 应用程序作为命令行应用程序运行。

我想提供来自命令行参数并与属性合并的其他属性application.yaml

当我使用Propertiesthen时application.yaml被省略。如何合并来自两个来源的属性?

0 投票
0 回答
185 浏览

spring - 使用 cloud-starter-config 时,Spring Boot 无法解析 XML 配置中使用的属性

我正在创建一个 Spring Boot 应用程序 A,同时使用注释和 XML 配置以及 config-starter-config 从 config-server 获取应用程序属性。应用程序正在使用 XML beans 文件从导入的模块 B导入其他 beans XML 。

一旦我添加了 spring-cloud-starter-config,应用程序就无法解析模块 B使用的属性。甚至能够从配置服务器正确获取属性。

错误

osbfsDefaultListableBeanFactory:非惰性FactoryBean类型检查的Bean创建异常:org.springframework.beans.factory.BeanCreationException:创建名称为'connectionName'的bean在URL [jar:file:/C:/Subscriber.jar!/BOOT- INF/lib/IF.jar!/META-INF/jms-config-ref.xml]:init 方法调用失败;嵌套异常是 javax.naming.NoInitialContextException:无法实例化类:${InitialContext} [根异常是 java.lang.ClassNotFoundException:${InitialContext}]

创建设置以在没有spring-cloud-starter-config 的情况下运行应用程序并application.properties从那时起提供属性时,它可以正常工作。

更新:主 xml 正在使用 @ImportResource("classpath:spring-sub-config.xml")

以及里面的起始内容

我希望这些 bean 解析从配置服务器中提取的属性。任何建议,我们如何使非懒惰 FactoryBean 上的 Bean 创建异常的初始化变得懒惰。PS:我已经尝试过lazy-init="true"属性。