這種方式是最簡單的,經過@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