【发布时间】:2016-05-07 11:13:39
【问题描述】:
Spring Boot 应用程序的任务是每隔几分钟更新一次远程集成 API。此应用程序可以部署到测试或生产环境,应用程序通过“application.properties”标志被告知它应该查看的端点。 POJO 正在使用 Jackson 序列化并推送到端点,其中 JsonProperty 注释包含要推送到的 API 的字段 ID。
即
@JsonProperty("field_001)
private String name;
@JsonProperty("field_002)
private String address;
这些值的字段标签在测试端点上有所不同。所以测试端点可能期望属性映射为
@JsonProperty("field_005)
private String name;
@JsonProperty("field_006)
private String address;
我希望能够利用 Spring Boot 对基于配置文件的属性文件的原生支持。在运行时从外部属性文件中读取 JsonProperty 注释值。
例如,
可能存在三个文件 application.properties、application-test.properties 和 application-prod.properties。 除了基于“spring.profiles.active”设置的普通属性文件之外,Spring Boot 还可以读取 test 或 prod 属性。
...-test.properties 将包含测试服务器字段的常量值。并且 ...-prod.properties 将包含 prod 服务器字段的常量值。
嵌套注解比如Spring的@Value标签,像这样:
@JsonProperty(@Value("${property.file.reference.here}))
似乎不起作用。
【问题讨论】:
标签: java json spring spring-boot jackson