一、springboot的配置文件

通常有:

application.properties

application.yaml

application.yml三种

.properties是创建springboot工程自动创建的,也是以前web等技术或spring框架的默认配置文件格式。

yaml和yml我目前还不知道哪个用的多,我一般会用yml,因为优先级较yaml高。

二、配置

.properties中的配置形式是键值对形式

例如:

1.服务器端口配置:server.port=8080

2.修改springboot启时的logo:

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

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

3.修改日志的配置:

可以设置指定目录的日志级别,默认的值是“info”
logging.level.root=info logging.level.com.xxx=warn/debug
三、三者的优先级

properties>yml>yaml

 

 三者都在的时候:

拿走properties,剩下yaml和yml时:

由此得出优先级顺序是properties>yml>yaml

四、yml里面的数据格式(数据前面要用空格和冒号隔开)

1.数据格式特点:
大小写敏感; 属性层级关系使用多行描述,每行结尾使用冒号结束;
使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键,貌似idea会自动识别);
属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔); # 表示注释。
2.键值对表示方式:
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连接,最后使用+代表时区(这个一般少见)
 3.数组表示方法:
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格式来写
五、读取yml数据
使用 @Value 读取单个数据,属性名引用方式: ${一级属性名.二级属性名……}
1.读取单个数据

比如我想读取张三的年龄:
@Value("${users[0].age}") private String age; //这个命名为age只是为了好看,与要读取的变量名无关
注意:属性值中如果出现转移字符,需要使用双引号包裹(\t和\n就是转义字符)
lesson: "Spring\tboot\nlesson"
2.使用Environment对象封装全部配置信息

还是打印刚刚张三的年龄:
@Autowired private Environment environment;
System.out.println(env.getProperty("user[0].name"));
3.封装一组数据(自定义对象封装指定数据)

相较于封装全部数据,封装一组数据,我可以想拿什么就拿什么
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配置的数据了

技术
©2019-2020 Toolsou All rights reserved,
TypeScript:函数类型接口8道大厂指针笔试题让你秒杀指针!!!MySQL 日期时间加减mysql 查询条件之外的数据_mysql 查询符合条件的数据查linux的操作系统版本,如何查看Linux操作系统版本?将String类型转换成Map数据类型使用uuid做MySQL主键,被老板,爆怼一顿C语言中的字符串函数和字符函数linux服务器中毒排查--基础篇C# ASCII码字符转换