这是关于这个问题的参考。
Spring Boot - inject map from application.yml
在这个问题上,他们有
info:
build:
artifact: ${project.artifactId}
name: ${project.name}
description: ${project.description}
version: ${project.version}
要将其映射到他们的Java代码中,建议使用@ConfigurationProperties
批注。此注释的问题在于,您必须创建一个New Class
,然后在其顶部添加此注释。
但是我可以像@Value
注释一样直接将其放在单个字段上吗?
说我在这里需要这样:
// Someannotation or any other lean and clean way to get this
@Someannotation("${info}")
private Map<String,Object> map;
上面的代码应该给我一个映射,键为build
,值为some Object with fields like artifact,name etc
(当然,如果可行,我将为此创建一个POJO而不是将其保留为普通对象)。
注意:@ConfigurationProperties
在字段上不起作用,这就是为什么我要查看是否有更精简的方法来执行此操作。
P.S。同样,我可以使用@ConfigurationProperties
并创建一个新类,但是我只是想看看我是否missing out
正在以一种更简单的方式来做到这一点,而不必完全创建一个新类。