👨🎓作者:bug菌
🎉简介:CSDN博客专家,C站历届博客之星Top50,掘金/InfoQ/51CTO等社区优质创作者,全网合计8w粉+,对一切技术感兴趣,重心偏Java方向;硬核公众号「 猿圈奇妙屋」,欢迎小伙伴们的加入,一起秃头,一起变强。
..
✍️温馨提醒:本文字数:1999字, 阅读完需:约 5 分钟
嗨,家人们,我是bug菌呀,我又来啦。今天我们来聊点什么咧,OK,接着为大家更[《springboot零基础入门教学》](https://link.juejin.cn/?target=https%3A%2F%2Fblog.csdn.net%2Fweixin_43970743%2Fcategory_11599389.html)系列文章吧。希望能帮助更多的初学者们快速入门!
小伙伴们在批阅文章的过程中如果觉得文章对您有一丝丝帮助,还请别吝啬您手里的赞呀,大胆的把文章点亮👍吧,您的点赞三连(收藏⭐+关注👨🎓+留言📃)就是对bug菌我创作道路上最好的鼓励与支持😘。时光不弃🏃🏻♀️,创作不停💕,加油☘️
一、前言
续上一篇咱们已经搭建好了一个springboot框架雏形。但是很多初学的小伙伴私信bug菌说,在开发项目中,为啥.yaml的配置文件也能配置,SpringBoot 是提供了两种2 种全局的配置文件嘛,这两种配置有何区别,能否给大家伙讲讲。一看这位小伙伴就非常好学啊,继续保持。
创建Spring Boot项目时,默认 resources 目录下就有一个application.properties 文件,可以在 application.properties 文件中进行项目配置,但是这个文件并非唯一的配置文件,
1、在 Spring Boot 中,一共有 4 个地方可以存放该配置文件,并按照如下优先级依次降低,如下:
- 当前项目根目录的config下
- 当前项目根目录下
- resource目录的config目录下
- resource目录下
2、SpringBoot 默认使用以下 2 种全局的配置文件,其文件名是固定的。
- application.properties
- application.yml
application.properties:语法:key=value 或行内写法(k: v;[Set/List/数组];{map,对象类型的属性},并且[]可以省,但是{}不能省)。
比如上一篇提到的配置端口号:
1 | ini复制代码#指定运行端口 |
application.yml : yaml ainot myarkup language ,不是一个标记文档。key: value
注意:yml默认可以不写引号,“”(双引号)会将其中的转义符进行转义,其他的(单引号啥的)不会。
二、application.properties使用
1、公共配置文件:application.properties(注意,此处取名别直接name,会跟系统默认的重名,所以;取名userName即可以示区分。)
1 | ini复制代码user.userName=bug菌 |
然后通过@Value 注解将这些属性注入;
1 | kotlin复制代码@Value("${user.userName}") |
或者创建一个user类;然后属性一一注入;
1 | typescript复制代码@Component |
然后分别访问一下;
http://localhost:8080/test/hello1
http://localhost:8080/test/hello2
ps:如果遇到打印出的中文乱码,如下所示,不要慌;bug菌教你怎么解决;好伐。
解决办法:应该是编辑器的问题,默认是GBK;你直接左上角File->Settings->File Encodings然后按如下设置即可。
以上就是application.properties配置文件的使用情况;另外有兴趣的同学还可以去试试八大类型的其他几种类型;bug菌此处就不一一赘述啦。提示:都跟上边是一样的玩法,唯独就是写法不太一样。
拓展:
1 | yaml复制代码#多行写法 |
三、application.yaml使用
语法与.properties稍微不太一样;[key: value];
1 | yaml复制代码user: |
注意:yml默认可以不写引号,“”(双引号)会将其中的转义符进行转义,其他的(单引号啥的)不会。
测试一下:http://localhost:8080/test/hello1
使用yml需要注意一下几点:
- 不同“等级” 用冒号隔开
- 次等级的前面是空格,不能使用制表符(tab)
- 冒号之后如果有值,那么冒号和值之间至少有一个空格,避免紧贴
- 要么用application.properties 要么用 application.yml,不要都用使自己混乱
拓展:例如:对象写法+数组写法等复合型语法。感兴趣的同学可以尝试看看。
1 | yaml复制代码person: |
四、两种配置文件如何选择
1、当properties和yml同时存在时,properties的优先级会比yml高(记忆技巧:这个世界上,谁长,谁NB)。
2、两种文件都是用#注释。
3、yml的优点在于可以省去一下重复代码。
4、在properties文件里面的 “ .” 连接在yml文件里面全部换成 “:” 进行连接,并且每一级之间必须换行,在第二级开始应该进行一个Tab键的缩进,如果是同级的就不需要进行缩进。
5、在yml文件里面如果是需要进行赋值那么必须是要在 “:” 后面进行一个空格键的缩进。
6、在yml文件里面所有的配置,相同级别只能出现一次,比如我们使用了spring这个级别,那么我们在后边进行spring级别的配置的时候就必须在这个地方进行,不能在写一个spring级别。
… …
至于如何选择,想必你们心中都有答案了吧!
五、热文推荐
OK,以上就是这期所有的内容啦,如果有任何问题欢迎评论区批评指正,咱们下期见。
- springboot系列(一):如何创建springboot项目及启动
- springboot系列(二):yaml、properties两配置文件介绍及使用
- springboot系列(三):多环境切换,实例演示
- springboot系列(四):stater入门
- springboot系列(五):史上最最最全springboot常用注解
- springboot系列(六):mysql配置及数据库查询
- springboot系列(七):如何通过mybatis-plus实现接口增删改查
- springboot系列(八):mybatis-plus之条件构造器使用手册
- springboot系列(九):mybatis-plus之如何自定义sql
- springboot系列(十):mybatis之xml映射文件>、<=等特殊符号写法
- springboot系列(十一):实现多数据源配置,开箱即用
- springboot系列(十二):如何实现邮件发送提醒,你一定得会(准备篇)
- springboot系列(十三):如何实现发送普通邮件?你一定得会
- springboot系列(十四):如何实现发送图片、doc文档等附件邮件?你一定得会
- springboot系列(十五):如何实现静态邮件模板发送?你一定得会
- springboot系列(十六):如何实现发送邮件提醒,附完整源码
- springboot系列(十七):集成在线接口文档Swagger2
- springboot系列(十八):如何Windows安装redis?你玩过么
- springboot系列(十九):如何集成redis?不会我教你
- springboot系列(二十):如何通过redis实现手机号验证码功能
- … …
文末🔥
如果还想要学习更多,小伙伴们可关注bug菌专门为大家创建的专栏《springboot零基础入门教学》,从无到有,从零到一!希望能帮助到更多小伙伴们。
我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
感谢认真读完我博客的铁子萌,在这里呢送给大家一句话,不管你是在职还是在读,绝对终身受用。
时刻警醒自己:
抱怨没有用,一切靠自己;
想要过更好的生活,那就要逼着自己变的更强,生活加油!!!
本文转载自: 掘金