如何从Maven中的属性文件加载数据?

时间:2018-01-14 11:30:14

标签: java spring pom.xml properties-file

我已经迁移到Maven项目(使用Spring),我不需要使用旧的* .xml配置文件。

改编很容易,但我仍然无法弄清楚:如何让我的项目知道我有属性文件并想使用它?

(如果您知道如何在POM中注册属性文件,请添加一些简要说明如何从该文件加载数据。(如果使用中有任何显着差异)

编辑:

在旧项目中,我只有spring-mvc-dmo-servlet.xml配置文件,我在其中放置了每个配置(例如"扫描我项目中的所有组件,cus我不想明确声明它们#34; ...

如果我想让我的spring项目知道我有特殊文件(在这种情况下countries.properties包含我想要使用的内容 - 我必须将以下代码放入配置文件中 -

<util:properties id="countryOptions" location="classpath:../countries.properties" />

...只有在那之后,我才可以使用我班级中的字段来连接文件中的内容......

像这样

@Value("#{countryOptions}") 
private Map<String, String> countryOptions;

(但现在我不再拥有任何spring-mvc-dmo-servlet.xml,现在我只有POM.xml,而在POM我的旧表达不起作用)

所以我的问题是:

我必须把我的POM说成我的春季项目&#34;嘿,有特殊文件!&#34;

如何连线(#{countryOptions}或$ {countryOptions}或其他内容)

1 个答案:

答案 0 :(得分:0)

您需要使用maven插件从文件中加载属性

其中一个是 http://www.mojohaus.org/properties-maven-plugin/usage.html

编辑:

在我们的一个Spring引导项目中,使用以下选项通过命令行传递属性文件的路径:

--spring.config.location=$DIRECTORY/application.properties

然后获取值:

/** The property to get. */
@Value("${property.to.get}")
private String propertyToGet;

您还可以查看@PropertySource注释

@PropertySource("classpath:config.properties")

请参阅https://www.mkyong.com/spring/spring-propertysources-example/