Spring程序缺点
*配置繁琐
*依赖设置繁琐
SpringBoot程序优点
*自动配置(简化常用工程配置,例如端口,访问路径等)
*起步依赖(简化依赖配置)
*辅助功能(内置服务器,...)
配置格式
配置文件通常有三种
YAML一种数据序列化格式
application.properties
application.yaml
application.yml(常用)
优点:
容易阅读
容易与脚本语言交互
与数据为核心,重数据轻格式
YAML文件扩展名
.yml(主流)
.yaml
基础语法
大小写敏感
数据值前边必须有空格,作为分割符
缩进时不能使用Tab键,只运行使用空格(各个系统对应得Tab空格数目不一致)
缩进得空格数目不重要,只要相同层级得元素左侧对其即可
#表示注释,从这个子父一直到行尾,都会被解析器忽略
*修改服务器端口
server.port=80
*关闭运行日志图标(banner)
spring.main.banner-mode=off
*设置日志相关
logging.level.root=debug
*参数引用
- name:lisi
-
- person:
- name: ${name}#引用上边定义得name
如何读取配置文件内容
例如:
1.@Value
2.Environment
3.@ConfigurationProperties
profile
profile就是进行动态切换的
1.profile配置方式
*多profile文件方式
2.profile激活方式
*配置文件

加入代码修改端口号
spring.profiles.active=dev
控制台就可以看出是8081端口号

*yml多文档方式
在application.yml中添加代码
- server:
- port: 8081
-
- spring:
- profiles: dev
- ---
- server:
- port: 8082
-
- spring:
- profiles: test
-
- ---
- server:
- port: 8083
- spring:
- profiles: pro
- ---
- spring:
- profiles:
- active: pro
-
-
-
再次运行就会发现端口号改为pro,是8083

*虚拟机参数
*命令行参数
也可以在配置里边修改

其他不变,会发现控制台端口号已经修改

命令行参数修改


内部配置加载顺序
SpringBoot程序启动时,会从以下位置加载配置文件:
1. file../config/: 当前项目下的/cpnfig目录下
2. file../ 当前项目的根目录
3. classpath:/config/: classpath的/config目录
4. classpath:/ classpath的根目录下
加载顺序为上边的排列顺序,高优先级配置的属性会生效,高优先级会覆盖掉低优先级的配置