我感兴趣的是创建一个或多个自定义属性源加载器,并在我的应用程序中使用那些带有@ConfigurationProperties
的属性源。
例如,我想开发一个属性源加载器,它能够加载XML文件并将其转换成一组属性,这些属性可以注入到我的< code>@Configuration注释类中。
@Configuration
@ConfigurationProperties(locations="classpath:config.xml")
public class MyConfig
{
...
}
是否有任何此类基于 XML 的属性源加载程序公开可用?如果没有,那么一旦我实现了它,我将如何将其提供给我的应用程序?
谢谢。
您可以检查YamlProperty tySourceLoader它是如何实现的。一旦你实现了它的方法
org.springframework.boot.env.YamlPropertySourceLoader#getFileExtensions
将在您添加以下内容后调用
@ConfigurationProperties(locations="classpath:config.xml")
但是观察 Yaml属性源加载器的实现,看起来你会有很多工作要做,包括配对等。
您应该检查yaml是否对您来说足够了,因为它为您提供了创建结构化属性的可能性:
例如,以下YAML文档:
environments:
dev:
url: http://dev.bar.com
name: Developer Setup
prod:
url: http://foo.bar.com
name: My Cool App
会转化成这些特性:
environments.dev.url=http://dev.bar.com
environments.dev.name=Developer Setup
environments.prod.url=http://foo.bar.com
environments.prod.name=My Cool App
YAML列表用[index]解引用器表示为属性键,例如这个YAML:
my:
servers:
- dev.bar.com
- foo.bar.com
会转化成这些特性:
my.servers[0]=dev.bar.com
my.servers[1]=foo.bar.com
即使您已经准备好了XML文档,这也是您希望在配置中加载它们的原因,但将XML转换为YAML看起来要简单得多(https://github.com/FasterXML/jackson-dataformat-xml)而不是使用现有的YamlPropertySourceLoader来编写自己的PropertyResourceLoader。
我有一个带有环境变量的外部属性源(比如一个. properties文件),如下所示: 我想用这些初始化一个< code > @ configuration properties : 当我在应用程序开始时将这些设置为环境变量时,一切都很好。但是,当我在
禁止DisableNastyThing1或DisableNastyThing2的工作方式与禁止模块完全相同。换句话说,myCheck XML元素名将表示这样一个事实,即该检查没有映射到实现AbstractCheck的实际Java类,而是映射到执行嵌套在其中的检查的一些通用检查。 是不是Checkstyle中已经有这样的概念,而我却没能找到它,还是怎么的?
> 如何以编程方式从log4j2中的记录器中删除appender?-即使我删除appender,它仍然发送日志 如何根据java系统属性有条件地添加log4j2附加器?-appender忽略通过:export log_level=off从命令行传递变量,并始终使用默认值,在本例中均为如此。脚本解决方案也有同样的问题 -level属性不接受动态值,并引发无法将“${sys:loglevel}”强制转
本文向大家介绍python基于property()函数定义属性,包括了python基于property()函数定义属性的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了python基于property()函数定义属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 正常情况下,类包含的属性应该是隐藏的,只允许通过类提供的方法来间接的实现对
我正在使用JavaFX属性的模型实体consitiing witch允许我更改单个位置上的值,将它们绑定到UI,并在模型实体数组中添加带有额外条件的更改的监听器(惟一值等)。 我必须将模型存储在数据库中,所以问题如下: 注意:一些可绑定属性根本不必持久化。
在Spring Boot中,有一个属性文件application.property,与这个属性一起,我创建了一个额外的属性文件,名为MyOwnProp.properties。 如何在中加载?表示如何在Application.properties中包含另一个命名属性? 有什么进展吗?