通常有:
application.properties
application.yaml
application.yml三种

.properties是创建springboot工程自动创建的,也是以前web等技术或spring框架的默认配置文件格式。
yaml和yml我目前还不知道哪个用的多,我一般会用yml,因为优先级较yaml高。
.properties中的配置形式是键值对形式
例如:

添加在resources下添加banner.txt,里面写想要的样子

我写了下面这个:
____ _ _
| _ (_) | |
| |_) | _ __ _ | | ___ __ _ ___
| _ < | | / _` || | / _ / _` | / _
| |) || || (| || || () || (| || () |
|/ || , |||_/ __, | _/
/ | / |
|/ |/
修改后:

可以设置指定目录的日志级别,默认的值是“info”
logging.level.root=info
logging.level.com.xxx=warn/debug
properties>yml>yaml



三者都在的时候:

拿走properties,剩下yaml和yml时:


由此得出优先级顺序是properties>yml>yaml
大小写敏感;
属性层级关系使用多行描述,每行结尾使用冒号结束;
使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键,貌似idea会自动识别);
属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔);
# 表示注释。
boolean: TRUE #TRUE,true,True大小写均可,false也一样
float: 3.14 #6.8523015e+5 #支持科学计数法
int: 123 #0b1010_0111_0100_1010_1110 #支持二进制、八进制、十六进制
null: ~ #~表示null
string: HelloWorld #字符串可以直接书写
string2: "Hello World" #可以使用双引号包裹特殊字符
date: 2018-02-17 #日期必须使用yyyy-MM-dd格式
datetime: 2018-02-17T15:02:31+08:00 #时间和日期之间使用T连接,最后使用+代表时区(这个一般少见)
likes:
- eat
- basketball
- sleep
liks2: [eat,basketball,sleep]
users:
- name: zhangsan
age: 23
- name: lisi
age: 22
//一个横线就是一组数据
users3: [{name:zhangsan,age:23},{name:lisi,age:24}] //还可以按照JSON格式来写
使用 @Value 读取单个数据,属性名引用方式: ${一级属性名.二级属性名……}
比如我想读取张三的年龄:
@Value("${users[0].age}")
private String age; //这个命名为age只是为了好看,与要读取的变量名无关
注意:属性值中如果出现转移字符,需要使用双引号包裹( 和 就是转义字符)
lesson: "Spring boot
lesson"
还是打印刚刚张三的年龄:
@Autowired
private Environment environment;
System.out.println(env.getProperty("user[0].name"));
相较于封装全部数据,封装一组数据,我可以想拿什么就拿什么
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/数据库名?serverTimezone=UTC
username: root
password: 密码
@Component
@ConfigurationProperties(prefix = "datasource")
public class DataSource {
private String driverClassName;
private String url;
private String userName;
private String password;
}
@RestController
@RequestMapping("/run")
public class RunController {
@Autowired
private MyDataSource myDataSource;
}
这样就可以拿到我自己定义的dataSource配置的数据了
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦