Add environment prefix support to SpringApplicationBuilder

Closes gh-25740
This commit is contained in:
Stephane Nicoll
2021-03-23 14:22:16 +01:00
parent f0a8c02efd
commit db782f5013
2 changed files with 20 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2012-2020 the original author or authors.
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -534,6 +534,18 @@ public class SpringApplicationBuilder {
return this;
}
/**
* Prefix that should be applied when obtaining configuration properties from the
* system environment.
* @param environmentPrefix the environment property prefix to set
* @return the current builder
* @since 2.5.0
*/
public SpringApplicationBuilder environmentPrefix(String environmentPrefix) {
this.application.setEnvironmentPrefix(environmentPrefix);
return this;
}
/**
* {@link ResourceLoader} for the application context. If a custom class loader is
* needed, this is where it would be added.

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2012-2020 the original author or authors.
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -291,6 +291,12 @@ class SpringApplicationBuilderTests {
assertThat(this.context.getBean("test")).isEqualTo("spring");
}
@Test
void setEnvironmentPrefix() {
SpringApplicationBuilder builder = new SpringApplicationBuilder(ExampleConfig.class).environmentPrefix("test");
assertThat(builder.application().getEnvironmentPrefix()).isEqualTo("test");
}
@Configuration(proxyBeanMethods = false)
static class ExampleConfig {