问题标签 [configurationproperties]

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

java - yml 绑定到嵌套 java 对象中的异常

尝试在嵌套的java对象中映射yml时遇到以下异常,是否有人也面临异常,请建议:

org.springframework.beans.factory.BeanCreationException:创建名为“别名”的bean时出错:无法将属性绑定到别名 (前缀=别名,ignoreInvalidFields=false,ignoreUnknownFields=true,ignoreNestedProperties=false);嵌套异常是 org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.postProcessBeforeInitialization(ConfigurationPropertiesBindingPostProcessor.java:303) 的 org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.postProcessBeforeInitialization(ConfigurationPropertiesBindingPostProcessor.java:352) 的 java.lang.NullPointerException在 org.springframework.cloud.context.properties.ConfigurationPropertiesRebinder.rebind(ConfigurationPropertiesRebinder.java:100)

应用程序别名.yml

0 投票
1 回答
648 浏览

spring - 春天云刷新配置属性

我想重新绑定ConfigurationProperties数据。阅读用户文档。 post http://localhost:8080/env,它工作。但是post http://localhost:8080/env/reset,无法刷新所有配置。只能刷新访问过的键/env。我想刷新所有配置我该怎么办?

http://projects.spring.io/spring-cloud/spring-cloud.html#_endpoints

0 投票
1 回答
1803 浏览

java - Spring加载一个只有空成员变量的配置类

我有一个 Spring Web 应用程序,我正在尝试将 YAML 配置文件加载到 Java 配置类中。但是,我的配置类在我的 JUnit 测试中实例化后仅包含空成员变量。我是 Spring 新手,可能错过了一些明显的东西。我用 Maven 构建了这个项目,并拥有一个 Maven 风格的目录树。

我的配置Java类:

src/main/java/com/my/package/config/YAMLConfigDatabase:

我的配置 YAML 文件:

src/main/resources/application.yml

我的 JUnit 测试检查我是否确实可以加载配置文件:


编辑:

我改变了我YAMLConfigDatabase.java的样子:

我使用Senior Promidor 技巧将@Value 注解添加到所有成员变量中,并且我还必须添加行@PropertySource(value = "classpath:application.yml")。如果我跳过后一步,@Value 注释中的参数将按字面意思解释,正如我在评论中提到的那样。

0 投票
2 回答
770 浏览

java - @ConfigurationProperties 在以编程方式添加活动配置文件后重新加载

我有一个用@ConfigurationProperties 注释的类。

我有几个配置文件chrome, safari, ie, and en_US, fr_CA等。我的运行参数看起来像-Dspring.profiles.active=chrome, en_US.

现在我想检查是否指定了语言,如果没有,我使用environment.addActiveProfile("en_US"). 问题是我的 MyProperties 没有重新加载。通过调试,我可以看到环境在活动配置文件中有 en_US,但 propertySource 仍然有旧的配置文件。

如何使用我的新配置文件重新加载 MyProperties。

0 投票
1 回答
707 浏览

spring-boot - 将 application.yml 中的属性注入地图

我的 application.yml 具有不同的属性,如下所示。

我正在使用 @ConfigurationProperties 将这些属性绑定到 Spring 组件

我将在 spring-boot 控制器中注入这个组件并将这个配置绑定到一个 get configs 端点 /controller/config

当这个端点被调用时,期望是返回

相反,它返回响应,如下所示

yml 中的列表正在映射到 Map 中的对象。我们如何才能实现对各自数据类型的正确绑定?

感谢你的帮助!

0 投票
2 回答
1053 浏览

spring-boot - Double 值的 Spring ConfigurationProperties 验证

我有一个应该在 0 和 1 之间ConfigurationProperties的属性值。我喜欢 Spring 来验证属性值。

所以在我的ConfigProperties课堂上,我添加了@Validated注释并写了这个:

奇怪的是,验证的工作方式看起来像flooring / roofing属性文件中的值。

这是我在 conf 文件中输入的不同值的结果:

fraction=-2.1 -> Spring 报告错误并停止(好!)

fraction=2.1 -> Spring 报告错误并停止(好!)

fraction=-1.5-> Spring 不报错就启动了(不好!)

fraction=1.5-> Spring 不报错就启动了(不好!)

我也尝试使用@Range注释,但结果相同

0 投票
5 回答
7121 浏览

java - Spring Boot 读取不带前缀的地图属性

我需要在地图中读取 application.properties 文件中的所有属性在下面的代码中,属性测试具有相应的值,但地图为空。如何在不向属性添加前缀的情况下使用 application.properties 文件中的值填充“地图”。

这是我的 application.properties 文件

我正在使用这样的@ConfigurationProperties

0 投票
2 回答
2429 浏览

maven - 带前缀的 ConfigurationProperties 不起作用

我在 Spring Boot 和创建我的第一个应用程序方面非常陌生。在创建数据源时,我使用带有前缀和要从 application.property 读取的属性的 @ConfigurationProperties。

但是,此设置似乎对我不起作用,并且我的程序没有运行。

我的 application.property 文件中的属性:

我的代码:

我知道这@ConfigurationProperties不是从我的文件中读取属性。如果我在 builder 方法中提供如下详细信息,则效果很好:

我的 pom.xml 文件有:

我的存储库类:

我的主要课程:

错误:

org.springframework.beans.factory.BeanCreationException:在类路径资源[org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]中定义名称为“flywayInitializer”的bean创建错误:调用init方法失败;嵌套异常是 java.lang.IllegalArgumentException:驱动程序类名称需要 jdbcUrl。在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1699) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE] 在 org.springframework.beans.factory。 support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory。IllegalArgumentException:驱动程序类名称需要 jdbcUrl。在 com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:1059) ~[HikariCP-2.7.9.jar:na] 在 com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:109) ~[HikariCP- 2.7.9.jar:na] 在 org.flywaydb.core.internal.util.jdbc.JdbcUtils.openConnection(JdbcUtils.java:51) ~[flyway-core-5.0.7.jar:na] 在 org.flywaydb。 core.internal.database.DatabaseFactory.createDatabase(DatabaseFactory.java:67) ~[flyway-core-5.0.7.jar:na] at org.flywaydb.core.Flyway.execute(Flyway.java:1634) ~[flyway -core-5.0.7.jar:na] at org.flywaydb.core.Flyway.migrate(Flyway.java:1168) ~[flyway-core-5.0.7.jar:na] at org.springframework.boot.autoconfigure .flyway.FlywayMigrationInitializer.afterPropertiesSet(FlywayMigrationInitializer.java:

如果我还需要提供任何其他信息,请告诉我。

0 投票
1 回答
5475 浏览

java - Spring Boot 中的多态配置属性

我想使用 Spring 的@ConfigurationProperties注释在 Spring 上使用多态配置属性。

假设我们有以下 POJO 类。

和配置属性类,

还有application.yml文件,

但是,使用此配置,Spring 使用对象列表而不是它们的子类来初始化@ConfigurationProperties-annotated类。Base这实际上是一种预期的行为(出于安全考虑)。

有没有办法强制SnakeYAML的行为使用子类,或者实现任何类型的自定义反序列化提供程序?

0 投票
1 回答
1359 浏览

java - java - 如何在java spring中将propertysource设置为从云配置服务器获取的配置文件?

我正在使用ConfigurationProperties注释将一些值从 application.yml 映射到 java 类。将它与 localhost 配置文件一起使用时一切正常,但是当我从云配置中获取配置时,找不到这些值。我猜这个问题可能是配置文件名可能会根据选择的配置而有所不同,并且 spring 不知道在哪个文件中查找它们。

和带有配置的 yaml

我试图通过PropertySource注释映射配置文件,但它期望配置文件名在我的情况下可能不同。

无论配置文件名如何,有什么方法可以将当前加载的配置传递给 PropertySource?从云配置成功获取配置后我收到的日志,用于应用程序:web-server profile: LOCAL