这种方式是最简单的,经过@Value
注解能够将属性值注入进来。this
Spring Boot 能够方便的将属性注入到一个配置对象中。例如:spa
my.name=Isea533 my.port=8080 my.servers[0]=dev.bar.com my.servers[1]=foo.bar.com
@ConfigurationProperties(prefix="my") public class Config { private String name; private Integer port; private List<String> servers = new ArrayList<String>(); public String geName(){ return this.name; } public Integer gePort(){ return this.port; } public List<String> getServers() { return this.servers; } }
Spring Boot 会自动将prefix="my"
前缀为my
的属性注入进来。.net
Spring Boot 会自动转换类型,当使用List
的时候须要注意在配置中对List
进行初始化!code
Spring Boot 还支持嵌套属性注入,例如:server
name=isea533 jdbc.username=root jdbc.password=root ...
对应的配置类:对象
@ConfigurationProperties public class Config { private String name; private Jdbc jdbc; class Jdbc { private String username; private String password; //getter... } public Integer gePort(){ return this.port; } public Jdbc getJdbc() { return this.jdbc; } }
jdbc
开头的属性都会注入到Jdbc
对象中。get
例如:io
@ConfigurationProperties(prefix = "foo") @Bean public FooComponent fooComponent() { ... }
Spring Boot 会将foo
开头的属性按照名字匹配注入到FooComponent
对象中。class