mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Add test to support binding nested properties
See gh-3539
This commit is contained in:
parent
2985b0e9d8
commit
ce512a18f3
@ -293,6 +293,17 @@ public class ConfigurationPropertiesBindingPostProcessorTests {
|
||||
equalTo("test2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void nestedProperties() throws Exception {
|
||||
// gh-3539
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
EnvironmentTestUtils.addEnvironment(this.context, "TEST_NESTED_VALUE:test1");
|
||||
this.context.register(PropertyWithNestedValue.class);
|
||||
this.context.refresh();
|
||||
assertThat(this.context.getBean(PropertyWithNestedValue.class).getNested()
|
||||
.getValue(), equalTo("test1"));
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableConfigurationProperties
|
||||
public static class TestConfigurationWithValidatingSetter {
|
||||
@ -612,4 +623,37 @@ public class ConfigurationPropertiesBindingPostProcessorTests {
|
||||
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableConfigurationProperties
|
||||
@ConfigurationProperties(prefix = "test")
|
||||
public static class PropertyWithNestedValue {
|
||||
|
||||
private Nested nested = new Nested();
|
||||
|
||||
public Nested getNested() {
|
||||
return this.nested;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public static PropertySourcesPlaceholderConfigurer configurer() {
|
||||
return new PropertySourcesPlaceholderConfigurer();
|
||||
}
|
||||
|
||||
public static class Nested {
|
||||
|
||||
@Value("${default.value}")
|
||||
private String value;
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user