@Value
@RestController
@RequestMapping("/test")
public class DemoController {
@Value("${test.name}")
private String name;
@RequestMapping
public String from(){
return name;
}
}
使用@Value和spEl表达式取出属性。
@ConfigurationProperties
@ConfigurationProperties
@Configuration
@ConfigurationProperties("test")
public class MyConfig {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@ConfigurationProperties的参数是属性名的前缀,以上代码将属性名前缀为test的属性注入到MyConfig中的成员变量中,属性名的后半部分与成员变量的名称相同,成员变量name将得到test.name的属性值。
Environment
@RunWith(SpringRunner.class)
@SpringBootTest
public class ConfigClientApplicationTests {
@Autowired
Environment environment;
@Test
public void contextLoads() {
System.out.println(environment.getProperty("test.name"));
}
}
从environment中读取属性