Spring Boot - 将.properties文件部署到不同于'WEB-INF / classes'的文件夹

时间:2016-06-02 11:26:11

标签: spring-boot war web-inf

我正在尝试将传统的Tomcat Spring MVC webapp转换为Spring Boot。新应用程序仍应使用.war部署。

由于各种原因,我强制要求application.properties文件位于已部署应用程序中的WEB-INF/conf文件夹内,而不是默认情况下Spring Boot放置的WEB-INF/classes文件夹内。

在原始的webapp中,我可以将application.properties文件放在src/main/webapp/WEB-INF/conf文件夹中(这样它们就会被复制到已部署的应用程序中的WEB-INF/conf),然后像这样使用它:

<context:property-placeholder location="/WEB-INF/conf/application.properties"/>

引用此位置的Spring Boot方式是什么?

我尝试添加以下各项:

spring.config.location=WEB-INF/conf/application.properties

但我的application.properties文件仍未加载。

1 个答案:

答案 0 :(得分:0)

最终起作用的是以下@PropertySource注释。

@SpringBootApplication
@PropertySource(value = {"WEB-INF/conf/application.properties"})
public class MyApplication {
        public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

似乎未在路径开头指定classpath:file:使其使用相对于webapp的路径。

我仍然不确定为什么要指定

spring.config.location=WEB-INF/conf/application.properties

没有同样的效果。