Spring启动,使用配置文件加载文件

时间:2016-01-24 00:09:20

标签: spring-boot spring-profiles

我已经使用spring-boot profiles来更改不同环境的属性值,现在我想使用相同的方法来加载不同的资源文件,例如我有dev_queries和prod_queries.xml以及sql查询。

如果活动配置文件是dev,则如何使spring-boot加载dev_queries.xml,否则为prod_queries.xml。我知道我可以检查活动配置文件,但我的想法是不添加特定的逻辑来处理这种情况。

1 个答案:

答案 0 :(得分:3)

将文件名外部化为自定义属性(docs,尤其是24.4)会有帮助吗?因此,在您的属性中,您将使用:

# application-dev.properties
myapp.query-source=dev_queries.xml

# application-production.properties
myapp.query-source=prod_queries.xml

在您的应用程序bean中,可以使用@Value注释来访问此设置:

@Value("${myapp.query-source}")
private String querySource;  // will be dev_queries.xml or prod_queries.xml

在您加载xml文件的代码中,您不必有条件地检查当前活动的配置文件,但可以将该设置外部化为属性。