默认情况下,Spring Boot会自动从classpath:/application.properties
我想知道这个自动配置源代码在哪里。
我想从我的应用中排除。
IE:@EnableAutoConfiguration(exclude=XXXXAutoconfiguration.class)
原因是:
因为我无法使用@PropertySource
@SpringBootApplication
@ComponentScan(basePackages = {"com.test.green.ws"})
@PropertySource(value = {"classpath:/application.properties", "file:/opt/green-ws/application.properties"})
public class GreenWSApplication {
public static void main(String[] args) {
SpringApplication.run(GreenWSApplication.class, args);
}
}
答案 0 :(得分:3)
有许多方法可以覆盖属性键而不会禁用整个外部化配置功能;而这实际上就是目标。
您可以看到here the order the properties are considered in。例如,您可以将该外部属性文件添加到打包的JAR旁边的config
文件夹中,甚至configure the file location yourself。
现在,如果您真的想要禁用所有这些(并且Boot团队强烈建议不要这样做),您可以注册自己的EnvironmentPostProcessor
(see here)并从PropertySources
中移除MutablePropertySources
,您可以使用configurableEnvironment. getPropertySources()
抓取。
没有更简单的方法可以做到这一点,因为: