当前位置: 首页 > news >正文

Spring Boot 配置

Boot默认的配置文件:application.properties,通过键值对配置对应属性

  • 修改服务器端口:
    server.port=80

还能改日志

常见日志级别(从低到高)是:

  • TRACE(跟踪,最详细,一般不用)

  • DEBUG(调试,开发时常用)

  • INFO(信息,默认级别,系统运行的关键信息)

  • WARN(警告,有潜在问题)

  • ERROR(错误,影响程序功能)

配置文件的三种格式

实际开发中主要用 yml格式

配置文件加载优先级

properties  > yml > yaml

我们一般只写yml,但如果多个配置文件存在,它们中的属性共存叠加,相互覆盖

设置配置文件

yaml格式

一种数据序列化格式

优点:

  • 容易阅读
  • 容易与脚本语言交互
  • 以数据为核心,重数据轻格式

读取数据

  • 框架内置配置:Spring Boot 内部已经定义好对应的配置类,不需要我们自己写配置类
  • 自定义配置:需要我们自己写配置类,然后用@ConfigurationProperties@Value 来绑定

框架内置配置

自定义配置

用 @value 绑定示例

DemoController的构造函数里写:

public DemoController(MyConfigByValue myConfig) {this.myConfig = myConfig;
}

发生了这样的事情:

  1. Spring Boot启动,它会扫描所有带 @Component 的类(包括 MyConfigByValue)。发现里面有 @Value("${myapp.name}")@Value("${myapp.age}")
  2. 读取配置文件,Spring 读取到:myapp: name: icesea age: 20 future: "spring master" 。然后把这些值 注入到 MyConfigByValue 对应的字段里
  3. 放到Spring容器里,完整的 MyConfigByValue 对象就被当作一个 Bean,放进了 IoC 容器。它的字段已经有值了(name=icesea,age=20,future=spring master)。
  4. Controller需要时注入,Spring 创建 DemoController 时,发现构造函数需要一个 MyConfigByValue 类型的参数。容器里正好有这个 Bean(而且已经带好配置文件里的数据),就自动传进去。

Environment读取

// 使用自动装配将所有的数据封装到一个对象@Autowiredprivate Environment env;@GetMappingpublic String getById() {System.out.println("country==>" + env.getProperty("country"));return "springboot is running";}

变量引用

不用双引号 ——> c:\windows\temp

案例

config包下面的类是配置类,它们的作用就是把配置文件yml里的键值对读出来,装进java对象里,并交给Spring容器管理。

http://www.dtcms.com/a/340587.html

相关文章:

  • C++---向下取整(>>)与向零取整(/)
  • Vue2封装Axios
  • PyTorch - Developer Notes
  • 《录井工程与管理》——第二章井位勘测技术
  • 精品方案 | GCKontrol与OMNeT++联合仿真在机载网络性能分析中的应用
  • 基于单片机环境火灾安全检测
  • 驾驭复杂表单:用 RxJava 实现响应式表单处理
  • mysql-8.0.37-linux-glibc2.12-x86_64安装
  • 数据结构与算法系列(大白话模式)小学生起点(一)
  • 【Kafka】常见简单八股总结
  • 【39】OpenCV C++实战篇——直线拟合、直线测距、平行线段测距;(边缘检测,剔除噪点,轮廓检测,渐进概率霍夫直线)
  • ReAct Agent:让AI像人类一样思考与行动的革命性框架
  • 01_Go语言基础与环境搭建
  • 【自记】Power BI 中 ALLNOBLANKROW的适用场景举例
  • 如何选择汽车ECU的加密方法
  • docker 部署
  • 千康BOH是店易开吗?怎么和金蝶云、用友BIP、鼎捷等ERP集成?
  • 趣打印高级版--手机打印软件!软件支持多种不同的连接方式,打印神器有这一个就够了!
  • 云手机在办公场景中的优势体现
  • 云手机在社交媒体场景中的优势体现在哪些方面?
  • AI大模型×政务热线:数造科技打造企业动态画像的“实时监测引擎”
  • 【网站测试:CORS配置错误引发的安全风险及测试】
  • 力扣【2348. 全0子数组的数目】——从暴力到最优的思考过程
  • 数学建模竞赛中评价类相关模型
  • 多人同时导出 Excel 导致内存溢出
  • Linux多线程——线程池
  • 论文见刊后能加通讯作者吗?
  • 【面试题】什么是三次握手四次挥手呢?
  • 黑盒(功能)测试基本方法详解
  • 关于删除gitlab中的分支