如何在我的Spring应用程序中获取@Value中检索的属性列表

时间:2015-08-06 12:42:03

标签: java spring

在我的应用程序中,我有十几个属性映射到我的bean属性:

@Value("#{props['prop1']}")
private String prop1;

@Value("#{props['prop2']}")
private String prop2;

@Value("#{props['prop3']}")
private String prop3;

在我的属性文件中,我总是需要定义值:

prop1=value1
prop2=value2
prop3=specific-value

它很重,因为大多数属性通常是相同的。我宁愿在我的代码中定义默认值,然后覆盖我在属性文件中需要的内容。代码可能如下所示:

@Value("#{props['prop1'] ?: value1}")
private String prop1;

@Value("#{props['prop2'] ?: value2}")
private String prop2;

@Value("#{props['prop3'] ?: value3}")
private String prop3;

在我的属性文件中,我只需更改prop3

prop3=specific-value

这很方便,因为我们有一个更容易维护的小属性文件。通过根据启用的配置文件选择正确的属性文件,Spring启动也可以提供更多帮助。

现在我有一个问题:作为开发人员,我如何知道应用程序中的所有配置点?如果我们被迫将所有属性添加到属性文件中,那么我们可以轻松地获得支持的属性列表。然而,对于只定义了少数属性的方法,我们失去了这个好处,知道可以更改哪些属性变得棘手。

我很想知道这个问题之前和之前是如何解决的。我希望有一个像maven插件这样的实用工具可以扫描我的bean,在其中检测用@Value注释的属性,并打印一个包含应用程序中定义的所有属性及其默认值的表。

0 个答案:

没有答案