问题标签 [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.
java - 爪哇。春天。如何注册自己的类名属性
我已经花了几天时间寻找在我的属性类(注释为@ConfigurationProperties)中定义字符串属性的方法,该属性将是类的名称,实现指定的接口。就像 spring.datasource.driver-class-name 一样。
如果您的代码包含 java.sql.Driver 实现(或者您对 impls 有多个依赖项),那么当您编辑 application.properties 文件时,idea 会帮助您从实现列表中选择驱动程序
我想要同样的。
我把完成的项目放在这里:https ://github.com/ibelozor/test-spring-properties (kotlin, gradle)
我定义服务:
,实施[s]:
, 特性:
,所以我可以将我的服务用作 bean(这很好用):
但是当我编辑
spring.datasource.driver-class-name 的 application.properties 文件案例时,我希望这个想法建议我实现我的界面:
我的案例 - service.class-name=... 没有建议:
spring - Spring @Validated 注解防止 @ConfigurationProproperties 值注入,为什么?
我正在尝试,@ConfigurationProperties
我发现了两件事:
- 为了使测试正常工作,我必须将配置属性文件(yml)放入
test
包中;需要设置器和空的构造器。 - 如果我用 注释该类
@Validated
,则注入将失败并显示所有null
值。
如果你说第一个可以理解,第二个呢?为什么?
目的是验证配置属性注入,以便在应用程序启动时不应该缺少关键属性值。
我有这个 yaml 来映射:
我有这个类来映射嵌套配置:
而且,它的界面:
和ConfigurationEs
和ConfigurationFr
都是以下的子类:
Merchant1
并且Merchant2
是 的子类:
当我尝试在没有第一类的情况下注入一些@Autowired
测试时,它可以工作(并且在 yml 文件中有值)@Validated
fr
es
当我添加@Validatedfr
并且es
为空时。
测试:
spring - 如何在 Kotlin 中使用 @ConfigurationProperties
我有这个自定义对象:
现在我想用我的自动装配它application.yml
:
使用这个类:
在添加之前Pair
它工作正常,但在我得到之后Reason: lateinit property pair has not been initialized
这是我的main
:
使用 java 我已经完成了这个,但是我看不到这里缺少什么。
spring-boot - ConfigurationProperties 不适用于 @Getter 和 @Setter
我正在尝试@ConfigurationProperties
与 lombok@Getter
和@Setter
.
如果我手动定义 getter 和 setter 一切正常。如果我删除实际的 getter 和 setter 并添加@Getter
和@Setter
spring 找不到任何 getter 和 setter。
有什么想法我可能会错过吗?
spring-boot - 如何使 ConfigurationProperties bean 和 @FeignClient 接口中的验证注释一起工作?
假设我有这个 application.yml(它将依赖于环境,例如通过 Spring 配置文件):
和匹配的 Java 风格的配置属性类:
我想要某种客户端作为我的远程 url:
不幸的是,我无法进行验证工作,MyRemoteProperties
例如当app.remote.url
属性为空白(空)时,应用程序无法启动(Spring 在连接MyRemote
bean 时失败)并且我收到此错误:
原因:java.lang.IllegalStateException:没有定义负载平衡的假装客户端。您是否忘记包含 spring-cloud-starter-netflix-ribbon?
(而且我不想要负载平衡;我认为这是因为 URL 在某些时候是空的,然后它需要一些负载平衡器配置,因此错误消息中的 Ribbon 在这里)。
或者我不知道如何将它插入 MyRemote 接口的配置,例如我也尝试过:
但同样的结果。
我如何让这个验证工作起作用?
pom.xml
在调用接口的某个时刻:
java - 哪个 Spring Boot @ConfigurationProperties 注释 bean 拥有 spring.profiles.active 属性?
我不想以这种方式检索此属性:
我想知道是否实际上有一个 Spring Boot 属性 bean - 即带有注释的@ConfigurationProperties
- 它包含spring.profiles.active
(这是一个 Spring 属性,而不是 Spring Boot 的)。
就像我们拥有例如SecurityProperties
持有spring.security
前缀一样。
谢谢。
spring-boot - 不绑定 ==> Consul KV + Kotlin Spring Boot @ConfigurationProperties @ConstructorBinding
我需要将我们的 application.yml 配置移动到 Hashicorp 的 Consul。我创建了一个简单的 Spring Boot 应用程序来完成所需的更改。它将配置数据从 application.yml 加载到强类型类。
但是,在注释掉 application.yml 文件并在 bootstrap.yml 文件中启用 consul 后,当我尝试访问 Consul KV 中的相同配置时,它在我的系统上作为 Docker 映像运行,配置数据始终为空. 我一定错过了一些简单的东西,但我完全不知道它是什么。以下是相关信息。
spring - 加载测试 application.yml 属性
我在src/test/resources/application.yml
. 但我无法在我的单元测试中加载这些值。我有以下课程:
在生产代码中,从/src/main/resources/application.yml
.
单元测试类:
我试图为test
每个文件添加一个配置application.yml
文件以查看添加是否@ActiveProfiles("test")
有效,但它没有。
src/main/resources/application.yml & src/test/resources/application.yml
我还创建了一个 TestConfiguration 类,该类创建SnmpProperties
bean 并使用以下命令将其自动装配到测试类中@EnableConfigurationProperties(TestConfiguration::class)
:
再一次,不去了。我得到的错误是:
java - 在嵌套的 java Spring 配置属性类中,可以使用父级的值来初始化子级吗?
我有一个 SpringBoot 2、Kotlin/Java Web 服务,它使用 @ConfigurationProperties 加载一组嵌套的类/属性以供在运行时使用。除了一件事之外,一切都正常工作:我无法弄清楚如何将值(代码)从父类(TenantProperties)传递给它的嵌套子类(DatabaseProperties)。在下面的片段中,它是从另一个具有适当注释的父级中提取的,我试图让 TenantProperties 中的代码在构造时传递给 DatabaseProperties。无论我尝试了什么,父母总是将 null 传递给孩子。我会很感激任何建议。
java - 对多个 Bean 使用 Spring Boot 2.2.0 的 @ConstructorBinding
所以我对新@ConstructorBinding
功能感到非常兴奋,但我对它如何与@ConfigurationProperties
. 可以通过更改前缀来声明具有配置属性的多个相同类型的bean,例如:
但据我从文档中可以看出,构造函数绑定方法要求您直接注释类型,这(我相信)必然会阻止您将一个类的多个实例注入配置属性。
这是期望得到支持的东西吗?它是否已经受支持并且我已经遗漏了一些东西?我想我理论上可以将构造函数绑定的类包装在另一种类型中,但它似乎有点hack-ish,如果可能的话我宁愿避免它。