Spring Boot学习笔记(二)

来源:互联网 发布:java集成测试框架 编辑:程序博客网 时间:2024/06/07 00:38

应用配置文件

对于有前缀的属性配置,.yml要比.propertities好用

my:   servers:       - dev.bar.com       - foo.bar.com相当于my.servers[0]=dev.bar.commy.servers[1]=foo.bar.com
  • spring会从classpath下的/config目录或者classpath的根目录查找application.properties或application.yml。/config优先于classpath根目录

应用(使用)属性

  • @Value(“${xxx}”) 这种方法比较简单,可以将属性注入
  • @ConfigurationProperties
    Spring Boot 可以方便地将属性注入到对象中来,例如:
my.name=Isea533my.port=8080my.servers[0]=dev.bar.commy.servers[1]=foo.bar.com

注入到对应的对象中去

@ConfigurationProperties(prefix="my") //将前缀为my的属性注入进来public class Config {    private String name;    private Integer port;    //SpringBoot会自动类型转换,但是使用List的时候需要初始化    private List<String> servers = new ArrayList<String>();    public String getName(){        return this.name;    }    public Integer getPort(){        return this.port;    }    public List<String> getServers() {        return this.servers;    }}

Spring Boot还支持嵌套注入

name=isea533jdbc.username=rootjdbc.password=root...

对应的配置类

@ConfigurationPropertiespublic 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对象中。