Spring学习——SpringBoot基础配置
创始人
2024-06-02 05:00:14
0

配置格式

SpringBoot提供了多种属性配置方式

  • application.properties

    server.port=80
    
  • application. yml

    server:port: 81
    
  • application.yaml

    server:port: 82
    

SpringBoot配置文件加载顺序(了解):
application.properties > application.yml > application.yaml

yaml

  • YAML ( YAML Ain 't Markup Language) ,一种数据序列化格式
  • 优点:
    • 容易阅读
    • 容易与脚本语言交互
    • 以数据为核心,重数据轻格式
  • YAML文件扩展名
    • .yml(主流)
    • .yaml

yaml语法规则

enterprise:name: jihuaage: 16tel: 4006184000likes:- 唱- 跳- rap- 篮球
  • 大小写敏感

  • 属性层级关系使用多行描述,每行结尾使用冒号结束

  • 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)

  • 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)

  • #表示注释

  • 数组数据在数据书写位置的下方使用减号作为数据开始符号,每行书写一个数据,减号与数据间空格分隔

yaml数据读取

  • 使用@Value读取单个数据,属性名引用方式:${一级属性名.二级属性名…}

1

  • 封装全部数据到Environment对象

2

  • 自定义对象封装指定数据

3

自定义对象封装数据警告解决方案:

在pom文件中添加如下依赖:

org.springframework.bootspring-boot-configuration-processortrue

多环境开发

使用.yml配置文件

  • 使用---区分

4

5

使用properties配置文件

使用多文件区分

  • 主启动配置文件application.properties

    spring.profiles.active=pro
    
  • 环境分类配置文件application-pro.properties

    server.port=80
    
  • 环境分类配置文件application-dev.properties

    server.port=81
    
  • 环境分类配置文件application-test.properties

    server.port=82
    

多环境启动命令格式

  • 带参数启动SpringBoot

    java -jar springboot.jar --spring.profiles.active=test
    
    java -jar springboot.jar --server.port=88
    
    java -jar springboot.jar --server.port=88 --spring.profiles.active=test
    

参数加载优先级顺序

参考官方文档Core Features (spring.io)

6

Maven与SpringBoot多环境兼容

  1. Maven中设置多环境属性(pom.xml文件中)
dev_envdevtruepro_envprotest_envtest

  1. SpringBoot中引用Maven属性(properties.yml)
spring:profiles:active: ${profile.active}
---
spring:profiles: pro
server:port: 80
---
spring:profiles: dev
server:port: 81
---
spring:profiles: test
server:port: 82
  1. 对资源文件开启对默认占位符的解析
maven-resources-pluginutf-8true

配置文件分类

  • SpringBoot中4级配置文件

    • 1级: file : config/application. yml【最高】
    • 2级: file : application.yml
    • 3级: classpath: config /application.yml
    • 4级: classpath: application.yml【最低】

    file指打包成jar包后,jar包运行目录

    classpath指未打包时的resources目录

  • 作用:

    • 1级与2级留做系统打包后设置通用属性
    • 3级与4级用于系统开发阶段设置通用属性

在SpirngBoot 2.5.0和2.4.6中,file : config目录(jar运行目录下的config目录下)下必须存在一个子目录,否则程序会报错

相关内容

热门资讯

宏创控股:截止2025年6月3... 投资者提问:你好,请问截止到2025年6月30日公司股东人数是多少?谢谢。董秘回答(宏创控股SZ00...
投资者提问:今年以来公司业务是... 投资者提问:今年以来公司业务是否平稳,未来胜帮是否继续给予大的支持?董秘回答(尤夫股份SZ00242...
盐湖股份:回应与汇信新材料项目... 投资者提问:董秘你好,汇信新材料的2万吨与公司的4万吨锂矿项目,双方公用的公共设施,配套设施,双方的...
红太阳:公司不生产高氯酸铵产品 投资者提问:董秘你好,公司生产高氯酸铵吗?产量大概多少董秘回答(红太阳SZ000525):尊敬的投资...
全球首台单机容量最大冲击式转轮... 中新网哈尔滨7月2日电 (王学善 魏子添)7月2日,全球首台单机容量最大500兆瓦、转轮尺寸最大6....
迈瑞医疗股东减持三轮套现50.... 长江商报消息 ●长江商报记者 沈右荣实习生 赖海军国内医疗器械巨头迈瑞医疗(300760.SZ)的股...
小商品城稳增长半年最高预盈17... 长江商报消息 ●长江商报记者 徐佳义乌市场景气度持续向好,小商品城(600415.SH)盈利能力的稳...
呈和科技终止重组股价三连阳 营... 长江商报消息 筹划的重大资产重组终止,多家A股公司复牌后股价大跌,呈和科技(688625.SH)收出...
投资者提问:请问,公司计划收购... 投资者提问:请问,公司计划收购的长空齿轮,其产品主要供应哪些行业?无人机,机器人,汽车,纺织机械,航...
云南大临铁路线路区间发生水害,... 7月2日,受强降雨影响,云南大(理)临(沧)铁路茂兰至云县区间发生水害,目前线路不具备通行条件,列车...