Spring-Boot学习笔记(二) 配置文件之初步使用

来源:互联网 发布:javascript启示录云盘 编辑:程序博客网 时间:2024/06/06 00:41

在上一节,主要是搭建了一个spring-boot的项目工程。然后编写了一个restful API,实现了一个简单的web应用。我们比较发现,spring-boot并没有使用原来如spring-mvc那样复杂的配置文件。我们从头到尾只配置了一个pom。这个就是spring-boot的第一个好处—它针对常用的开发场景 提供了自动化的配置。通过我们这样的一个小例子,就可以切身体会到。但是,在大多数的情况下我们都是要修改配置文件的,例如如何修改默认的端口等等。那么这一节我们就学习一下如何使用spring-boot的配置文件。

首先,在上节的项目结构中我们发现spring-boot默认只有一个配置文件:application.properties,那么我们在配置文件中加一条:server.port=8081,然后启动应用。我们会发现:
8081
端口已经变成了8081。当然spring-boot的配置文件不仅支持properties类型,也支持现在用的很多的YAML类型的配置文件,这种类型的配置文件格式采用的大纲形式的记录。如图:
yaml配置
ps:笔者用eclipse是在用不惯,换成idea请见谅。
运行后效果和properties的效果一样。

那么yaml有什么好处呢。我们可以通过一个例子来比较下。

使用properties进行配置

如图:

properties

建立student实体类,如图:

student

我们在controller返回student
controller

启动,访问页面:
web

使用application.yaml配置

yaml

然后修改一个实体类:student.java
student

启动,访问页面:
页面

那么我们比较会发现。利用yaml进行配置的时候,在对student进行注解的时候回方便很多,并且一幕了然。所以笔者建议利用yaml会显得更高的逼格,更加老司机,freestyle~

同时,spring-boot的配置文件支持可以使用参数引用,随机数等等。如图:
properties

多环境配置

在spring-boot中多环境配置的文件名命名也需要满足application-*.properties。比如说在开发、生产、测试环境不同的情况下。我们可以分别配置:
application-dev.properties
application-prod.properties
application-test.properties
然后只需在application.properties的文件中添加

spring.profiles.active=dev

即可。

配置加载的顺序

  1. 命令行的参数
  2. 配置文件中的参数
  3. java:comp/env的JNDI属性
  4. java系统参数
  5. 操作系统环境变量
  6. 通过random.*配置的随机属性