【javaWeb 第十篇】(SpringBoot )yml配置文件

yml配置文件

  • 配置文件
    • 参数配置化
    • yml配置文件
    • yml配置文件的基本语法
      • yml数据格式
    • yml配置
    • ConfigurationProperties

配置文件

参数配置化

为什么要使用配置文件配置参数:
以阿里云OSS工具类为例,在工具类中,需要给出连接阿里云服务器的种种参数信息,如果开发企业级大型项目的时候,可能回多次使用到参数信息,这样参数就会很分散,这个时候我们可以通过将参数定义在配置文件当中。


在这里插入图片描述
而此时的工具类:
在这里插入图片描述
我们可以通过 @value注解常用于外部配置的属性注入,具体方法为: @value(“${配置文件中的key}”)
例如:

@value("${aliyun.oss.endpoint}")
private String endpoint;

yml配置文件

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

  • application.properties配置文件
    它的配置形式就是 key:value
    例如:
server.port=8080;
server.address=127.0.0.1
  • application.yml(后缀也可以是yaml)

yml文件进行配置的时候是根据层级进行配置的(先配置一级再向下延申)

server:port:8080address:127.0.0.1
  • XML配置文件
<server><port>8080</port><address>127.0.0.1</address>
</server>

yml配置文件的基本语法

  1. 大小写敏感
  2. 数值前边必须要有空格作为分隔符 例如: port: 8080
  3. 使用缩进表示层级关系,缩进时,不允许使用Tab键,只能用空格(idea中会自动将Tab转化为空格)
  4. 缩进的空格数目不重要,只要相同层级的元素左侧对齐就行
  5. #表示注释,从这个字符到行尾,都会被解析器忽略

yml数据格式

  • 定义对象/Map集合:
user:name:hanage:18password:123456
  • 定义数组/List/Set集合:
hobby:- java- game- sport

yml配置

将properties中的配置内容都换成yml配置
示例:

spring.application.name=StudySystem
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatistest
spring.datasource.username=
spring.datasource.password=
# ??mybatis????????????
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
# ??mybatis???????????
mybatis.configuration.map-underscore-to-camel-case=true
# ????????????
spring.servlet.multipart.max-file-size=10MB
# ????????????????????????????
spring.servlet.multipart.max-request-size=100MB

转换成yml配置文件:

# 配置单个文件上传大小限制
# 配置单个文件请求最大大小限制(一次请求中是可以上传多个文件)spring:application:name: StudySystemservlet:multipart:max-file-size: 10MBmax-request-size: 100MB# 数据库连接信息datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatistestusername: password: # 配置日志信息输出到控制台
# 开启mybatis的驼峰命名的自动映射开关mybatis:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: true

ConfigurationProperties

上方所说的通过 @value注解配置参数,如果属性过多也会变得相当繁琐,我们可以直接将配置文件当中的参数赋予变量

  • 前提
  1. 配置文件中的参数名称应该与变量名称一致
  2. 需要将变量所在类进行控制反转交予IOC容器管理
  3. 需要通过本节所讲的 @configurationProperties 注解说明配置参数的前缀

在这里插入图片描述
加上这个注解之后会弹出一个警告:
在这里插入图片描述
这个警告不会影响程序的正常执行,这个警告是提示我们还需要引入一项依赖,这个依赖是能够对该注解表示的Bean对象进行识别,等下一次配置文件中配置该参数是就会由相对应的提示

在这里插入图片描述

  • 不同点

@value 注解只能一个一个的进行外部属性的注入
@ConfigurationProperties 可以批量的将外部的属性配置注入到bean对象的属性中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/788261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware虚拟机三种网络模式配置

vmware有三种网络工作模式&#xff1a;Bridged&#xff08;桥接模式&#xff09;、NAT&#xff08;网络地址转换模式&#xff09;、Host-Only&#xff08;仅主机模式&#xff09;。 1. 打开网络编辑器&#xff08;编辑 --> 虚拟网络编辑器&#xff09; 在主机上有VMware Ne…

Movavi Video Converter 2022 for Mac/Win:卓越的视频音频文件转换器

在数字化时代&#xff0c;视频和音频文件已成为我们日常生活和工作中不可或缺的一部分。无论是制作精美的家庭影片&#xff0c;还是编辑专业的商业视频&#xff0c;一款高效、便捷的视频音频文件转换器无疑是您的得力助手。而Movavi Video Converter 2022&#xff0c;就是这样一…

Unity 使用 IL2CPP 发布项目

一、为什么用 IL2CPP Unity的IL2CPP&#xff08;Intermediate Language to C&#xff09;是一个编译技术&#xff0c;它将C#代码转换为C代码&#xff0c;然后再编译成平台相关的二进制代码。IL2CPP提供了几个优点&#xff0c;特别是在性能和跨平台部署方面。以下是IL2CPP的一些…

OpenCv —— cv::VideoCapture设置摄像头图像格式为“MJPEG“

背景 今天恰巧同事有台USB摄像头,她想要在Windows系统下通过OpenCV读取该摄像头宽高为1080x768、帧率为60的视频,用来做图像算法处理。但无奈通过网上OpenCV教程 读取的视频对应尺寸的帧率仅为10帧左右,根本无法满足使用要求。于是作者通过本篇文章介绍如何解决,欢迎交流指…

Vue3学习笔记+报错记录

文章目录 1.创建Vue3.0工程1.1使用vue-cli创建1.2 使用vite创建工程1.3.分析Vue3工程结构 2.常用Composition2.1 拉开序幕的setup2.2 ref函数_处理基本类型 1.创建Vue3.0工程 1.1使用vue-cli创建 查看vue/cli版本&#xff0c;确保vue/cli版本在4.5.0以上 如果不是&#xff0…

无缝投屏技巧:怎样将Windows电脑屏幕共享到安卓手机?

使用屏幕共享技术的好处是多方面的。首先&#xff0c;它为远程协助提供了极大的便利。当用户遇到电脑操作难题时&#xff0c;技术支持人员可以远程查看用户的屏幕&#xff0c;实时指导解决问题&#xff0c;就像他们身临其境一样。其次&#xff0c;这种技术也为教育和培训带来了…

Python PDF页面设置 -- 旋转页面、调整页面顺序

在将纸质文档扫描成PDF电子文档时&#xff0c;有时可能会出现页面方向翻转或者页面顺序混乱的情况。为了确保更好地浏览和查看PDF文件&#xff0c;本文将分享一个使用Python来旋转PDF页面或者调整PDF页面顺序的解决方案。 目录 使用Python旋转PDF页面 使用Python调整PDF页面…

燃气管网安全运行监测系统功能介绍

燃气管网&#xff0c;作为城市基础设施的重要组成部分&#xff0c;其安全运行直接关系到居民的生命财产安全和城市的稳定发展。然而&#xff0c;随着城市规模的不断扩大和燃气使用量的增加&#xff0c;燃气管网的安全运行面临着越来越大的挑战。为了应对这些挑战&#xff0c;燃…

备考ICA----Istio实验16---HTTP流量授权

备考ICA----Istio实验16—HTTP流量授权 1. 环境准备 kubectl apply -f istio/samples/bookinfo/platform/kube/bookinfo.yaml kubectl apply -f istio/samples/bookinfo/networking/bookinfo-gateway.yaml访问测试 curl -I http://192.168.126.220/productpage2. 开启mtls …

Linux——线程控制

目录 前言 一、线程创建 1.创建线程 2.线程传递结构体 3.创建多线程 4.收到信号的线程 二、线程终止 三、线程等待 四、线程分离 五、取消线程 六、线程库管理的原理 七、站在语言角度理解pthread库 八、线程的局部存储 前言 前面我们学习了线程概念和线程创建&…

Topaz Video AI for Mac v5.0.0激活版 视频画质增强软件

Topaz Video AI for Mac是一款功能强大的视频处理软件&#xff0c;专为Mac用户设计&#xff0c;旨在通过人工智能技术为视频编辑和增强提供卓越的功能。这款软件利用先进的算法和深度学习技术&#xff0c;能够自动识别和分析视频中的各个元素&#xff0c;并进行智能修复和增强&…

k8s + springcloud 微服务开发调试工具kt Connect的使用

概览 KtConnect(全称Kubernetes Toolkit Connect)是一款基于Kubernetes环境用于提高本地测试联调效率的小工具。 通过这个工具,可以不在本地启动所有服务,只需启动当前开发的服务即可,其它服务使用的是部署在k8s集群的实例,如下图: Reference 官方文档:https://gith…

vCenter Server出现no healthy upstream的解决方法

https://blog.51cto.com/wangchunhai/4907250 访问vCenter 7.0 地址后&#xff0c;页面出现“no healthy upstream”,无法正常登录vCenter&#xff0c;重启后依旧如此&#xff0c;该故障的前提是没有对vCenter做过任何配置&#xff0c;如下图所示。 尝试登录"VMware vCen…

写时拷贝技术

不采用写时拷贝,如何fork? 第一:复制开销比较大; 第二:占用内存空间; 所以我们对fork复制进程的过程就做了一个优化-----写时拷贝技术; 综上,就是fork的时候,子进程直接把父进程的页表复制过来,子进程发生写入(修改)的时候才分配内存复制,然后进行相应的页表修改.写时拷贝是…

使用deepspeed小记

1. 减少显存占用的历程忠告 医学图像经常很大&#xff0c;所以训练模型有时候会有难度&#xff0c;但是现在找到了很多减少显存的方法。 不知道为什么&#xff0c;使用transformers的trainer库确确实实会减少显存的占用&#xff0c;即使没有使用deepspeed&#xff0c;占用的显…

【蓝桥杯嵌入式】11届程序题刷题记录及反思

一、题目介绍 按键输入&#xff1a;短按 模拟电压输出&#xff1a;ADC LCD显示 PWM输出&#xff1a;PA6,PA7 二、usr.c #include "usr.h" #include "lcd.h" #include "stdio.h" #include "tim.h" #include "adc.h" /*v…

Ps:颜色查找

颜色查找 Color Lookup命令通过应用预设的 LUT 来改变图像的色彩和调性&#xff0c;从而为摄影师和设计师提供了一种快速实现复杂色彩调整的方法&#xff0c;广泛应用于颜色分级、视觉风格的统一和创意色彩效果的制作。 Ps菜单&#xff1a;图像/调整/颜色查找 Adjustments/Colo…

C++11---右值引用(深度讲解)

简要介绍 右值引用是C11的新特性,无论左值引用还是右值引用&#xff0c;都是在给对象取别名 什么是左值 什么是右值 1.左值,左值引用 左值是一个数据的表达式(例如变量或者解引用后的指针),我们可以对其进行取地址和修改赋值,左值可以出现在赋值符号的左边,而右值不能出现在…

C语言 练习题

目录 1.统计二进制中1的个数 方法1 方法2 方法3 2.求两个数二进制中不同位的个数 方法1 方法2 3.打印整数二进制的奇数位和偶数位 4.用“ * ”组成的X形图案 5.根据年份和月份判断天数 6.结语 1.统计二进制中1的个数 【题目内容】 写一个函数返回参数二进制中 1 的个…

YARN集群 和 MapReduce 原理及应用

YARN集群模式 本文内容需要基于 Hadoop 集群搭建完成的基础上来实现 如果没有搭建&#xff0c;请先按上一篇: <Linux 系统 CentOS7 上搭建 Hadoop HDFS集群详细步骤> 搭建&#xff1a;https://mp.weixin.qq.com/s/zPYsUexHKsdFax2XeyRdnA 配置hadoop安装目录下的 etc…