博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot入门-配置文件
阅读量:4160 次
发布时间:2019-05-26

本文共 1730 字,大约阅读时间需要 5 分钟。

Spring Boot默认从 application.properties 获取配置,比如我们要配置一个user,首先在 application.properties 中对应 UserProperties 对象字段编写属性的 KV 值:

user.name=zhitaouser.age=27user.sex=manuser.desc=${user.name} is a ${user.sex}

这里也可以通过占位符,进行属性之间的引用。

编写duiying的UserProperties对象:

@Component@ConfigurationProperties(prefix = "user")public class UserProperties {    private  String name;    private  Integer age;    private  String sex;    private  String desc;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }/**getter setter方法省略**/    @Override    public String toString() {        return "UserProperties{" +                "name='" + name + '\'' +                ", age=" + age +                ", sex='" + sex + '\'' +                ", desc='" + desc + '\'' +                '}';    }}

通过 @ConfigurationProperties(prefix = "user”) 注解,将配置文件中以 user前缀的属性值自动绑定到对应的字段中。同是用 @Component 作为 Bean 注入到 Spring 容器中。

如果使用yml文件,则是

## user属性user:  name: zhitao  age: 27  sex: man  desc: ${user.name} is a ${user.sex}${home.city}
这里会有一个问题:
application.properties 配置中文值的时候,读取出来的属性值会出现乱码问题。原因是,Spring Boot 是以 iso-8859 的编码方式读取 application.properties 配置文件,
使用 application.yml 则不会出现乱码问题。

项目结构如图:

多场景配置问题:

很多场景的配置,比如数据库配置、Redis 配置、日志配置等。在不同的环境,我们需要不同的包去运行项目。所以看项目结构,有两个环境的配置:

Spring Boot 是通过 application.properties 文件中,设置 spring.profiles.active 属性,比如 ,配置了 dev ,则加载的是 application-dev.properties :

如下:application.properties 的配置是:

spring.profiles.active=test

那么读取的就是 application-test.properties 的配置

user.name=taotaouser.age=26user.sex=manuser.desc=${user.name} is a ${user.sex}

application-dev.properties 的配置为:

user.name=taouser.age=28user.sex=manuser.desc=${user.name} is a ${user.sex}

此时读取到的用户名字为taotao而不是tao。

你可能感兴趣的文章
HTML5学习之——HTML 5 Canvas vs. SVG
查看>>
HTML5学习之——HTML 5 应用程序缓存
查看>>
HTML5学习之——HTML 5 Web Workers
查看>>
HTML5学习之——HTML 5 Canvas
查看>>
HTML5学习之——HTML5 内联 SVG
查看>>
HTML5学习之——HTML 5 服务器发送事件
查看>>
SVG学习之——HTML 页面中的 SVG
查看>>
SVG 形状学习之——SVG 矩形<rect>
查看>>
SVG 形状学习之——SVG圆形
查看>>
SVG 滤镜学习之——SVG 滤镜
查看>>
mysql中用命令行复制表结构的方法
查看>>
hbase shell出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException
查看>>
让代码变得更优雅-Lombok
查看>>
解决Rhythmbox乱码
查看>>
豆瓣爱问共享资料插件发布啦
查看>>
Ubuntu10.10 CAJView安装 读取nh\kdh\caj文件 成功
查看>>
kermit的安装和配置
查看>>
vim 配置
查看>>
openocd zylin
查看>>
进程创建时文件系统处理
查看>>