当前位置:首页 > 编程笔记 > 正文
已解决

[JAVAee]SpringBoot配置文件

来自网友在路上 176876提问 提问时间:2023-09-18 22:44:39阅读次数: 76

最佳答案 问答题库768位专家为你答疑解惑

配置文件的介绍

配置文件当中记录了许多重要的配置信息,例如:

  • 数据库的连接信息(用户的账户与密码)
  • 项目的启动端口
  • 第三方系统的调用密匙
  • 用于记录问题产生的日志

在spring框架中一些特定的框架会自动调用配置文件中的配置信息来运用.

配置文件中的属性也起到了类似全局变量的作用. 

对于一个项目,可以准备多种配置文件方便自由调用来应对不同的情况.

放置在resources目录下 

配置文件的格式

Spring Boot的配置文件的格式主要有两种:

  • .properties(spring boot默认)
  • .yml

properties与yml都是配置文件,类似于同一件实物来说,properties是旧版的而yml是新版的.

properties与yml的优先级

properties与yml可以出现在同一个项目当中,还是建议在一个项目下使用同一种类型的配置文件.

但properties的优先级会更高,项目先加载properties中的配置,在这之后才去加载yml的.

 下面来示范一下.

①在同一个项目中分别放置properties与yml的配置文件

②分别在两种配置文件中配置同一属性的信息

yml配置的端口号为:666

properties配置的端口号为:123 

③在类中调用并打印查看结果

观察得到,打印的端口号为123,即是properties配置文件中的信息. 

注意,虽然properties配置文件在SpringBoot的优先级更高.但并不表示不会载入yml的信息噢,只是在同一个属性上优先使用properties中的信息. 

properties配置文件的说明 

properties是配置文件的早期文件类型,是spring boot的默认配置文件类型

基本语法

在properties是以键值对的方式来赋值,其中key与value是以"="来连接.

server.port = 123
#使用"#"在配置文件中进行注释

读取配置文件信息

在项目中想实现配置文件中内容的读取,可以使用@Value注解来实现

其中@Value注解的格式为${}

@Value("${server.port}")

缺点分析

当在配置相近的内容时,会额外的产生冗余的信息.

yml配置文件的说明

yml是yaml的缩写,全称为:Yet Another Markup Language(另一种标记语言).

对于properties来说,yml支持了更多的编程语言.还支持更多的数据类型,它可以简单表达清单(数组)、散列表,标量等数据形态。它使⽤空⽩符号缩进和⼤量依赖外观的特⾊,特别适合⽤来表达或编辑数据结构、各种配置⽂件.

基本语法 

yml的语法与JSON差不多,但yml使用":" + "(空格)"的形式组合连接key与value,其中的空格不要省略噢.

server.port: 666

对比: 

使用

①与properties对比

左边为yml,右边为properties.

可以观察到yml中的书写更为简便一些. 

②配置数据类型

yml还可以配置数据类型以及null(properties不可配置数据类型噢~)

 ③配置对象

写法一:

写法二:

配置文件中对象的读取

 对于yml中的对象就不能使用@Value来读取了

而是使用@ConfigurationProperties.

@ConfigurationProperties(prefix = "student1")//student1为yml中对象名称
@Component
public class Student {private int age;private String name;private String id;//其中getter与setter方法不能省略public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getId() {return id;}public void setId(String id) {this.id = id;}
}

读取 

yml的基本读取与properties的@Value注解读取一直,特殊的对象读取也说明,此处不再赘述.

查看全文

/2175422.html

相关文章:

  • Mysql----锁
  • 气传导耳机对耳朵有伤害吗?气传导耳机哪款好?
  • Java手写斐波那契数列算法和斐波那契数列算法应用拓展案例
  • 18.SpringTask 定时任务框架
  • 图论第四天|127. 单词接龙、841. 钥匙和房间、463. 岛屿的周长
  • 神经网络 02(激活函数)
  • 华为云云耀云服务器L实例评测|一个2C2G3M的云服务器能做哪些有有趣的事儿?
  • 有效的括号(栈的高频面试题)
  • 【数据结构】堆的应用+TOP-K问题+二叉树遍历
  • 数据库连接工具Chat2DB介绍
  • C# 流Stream详解(3)——FileStream源码
  • Vue Grid Layout -️ 适用Vue.js的栅格布局系统,在vue3+上使用
  • [maven] maven 创建 web 项目并嵌套项目
  • vue3-vant4-vite-pinia-axios-less学习日记
  • 二叉树题目:层数最深叶子结点的和
  • Java手写约瑟夫问题算法和约瑟夫问题算法应用拓展案例
  • innovus: 各种padding一勺烩
  • 简单的分析下dart实现grpc客户端的流程,以helloworld为例
  • stm32--独立看门狗
  • GcExcel:Java 应用创建、修改和保存 Excel 电子表格 -Crack
  • 腾讯mini项目-【指标监控服务重构】2023-08-19
  • leetcode363周赛
  • new/delete, malloc/free 内存泄漏如何检测
  • 无涯教程-JavaScript - ODD函数
  • 阿里云无影电脑:免费体验无影云电脑3个月
  • 嵌入式学习笔记(25)串口通信的基本原理
  • 前后端分离技术逐步深入,让你更加深入理解Nginx+Tomcat
  • Linux学习第11天:字符设备驱动开发:一字一符总见情
  • windows彻底卸载unity
  • 前端html原生页面兼容多端H5和移动端适配方案
  • 系统性能调优:提升服务器响应速度
  • PHP通过pem文件校验签名异常
  • 【C++ Exceptions】Catch exceptions by reference!
  • 科技资讯|苹果虚拟纸可在Vision Pro中为广告、书籍等提供MR内容和动画
  • webpack静态资源上传到CDNS (阿里云 OSS,亚马逊 AWS S3,七牛云 Qiniu Cloud Kodo)webpack-plugin-cdns
  • VMware workstation 中centos7虚拟机在nat模式下怎么配置网卡,指定我想要的IP并且可以联网
  • Flask 使用 JWT(一)
  • 【ant-design-vue】ant-design-vue在uniapp使用时,auto-import失败报错
  • 一文通览腾讯云大数据ES、数据湖计算、云数据仓库产品新版本技术创新
  • cuda以及pytorch安装
  • Xilinx FPGA 7系列 GTX/GTH Transceivers (2)--IBERT
  • oracle创建数据库以及用户,并导入dmp格式数据
  • 每个高级前端工程师都应该知道的前端布局
  • 微软发现影响 Linux 和 macOS系统的 ncurses 库漏洞
  • 前后端开发接口联调对接参数
  • 线性代数的本质(一)——向量空间
  • Maven 工具学习笔记(基础)
  • reg与wire的用法,证明reg可以在右边,wire型在左边,来作组合逻辑处理。
  • 【JDK 8-函数式编程】4.5 Predicate
  • html网页制作期末大作业-网上花店商城html+css+javascript
  • 2023年11月25日PMP报名正式开始!附操作指南
  • 伦敦银时走势与获利机会
  • 【数据结构】单值二叉树 相同的树 翻转二叉树(五)
  • 从0搭建夜莺v6基础监控告警系统(一):基础服务安装
  • three.js——模型对象的使用材质和方法
  • Java手写红黑树
  • 华为HCIA(四)
  • MyBatis面试题(一)
  • ARM cortex-A7核LED灯点灯实验
  • vue学习-01vue入门
  • K8s(Kubernetes)学习(六)——Ingress
  • 8种LED显示屏的安装方式
  • zabbix学习1--zabbix6.x单机
  • 一文了解水雨情在线监测站的优势
  • QSlider风格设置
  • GaussDB(DWS)云原生数仓技术解析:湖仓一体,体验与大数据互联互通
  • 项目性能优化 - 并发编程合并文章详情页的 HTTP 请求次数
  • linux基础篇
  • MATLAB中filloutliers函数用法
  • 蓝桥杯2023年第十四届省赛真题-买瓜--Java题解
  • OpenText EnCase Mobile Investigator 查看、分析和报告被调查手机的证据
  • 83 # 静态服务中间件 koa-static 的使用以及实现
  • 计算机网络第四章——网络层(下)
  • 09MyBatisX插件
  • JMeter基础 —— 使用Badboy录制JMeter脚本!
  • 蓝牙核心规范(V5.4)10.1-BLE 入门笔记(1)
  • Java实现图书管理系统
  • 评价模型:层次分析法
  • 【免费内网穿透】cpolar从0开始使用
  • 面试中常见的算法题和其python实现
  • flask+python快速搭建
  • 手把手教你搭建农产品商城小程序:详细步骤解析
  • 信息化助力高校教育统计数据质量的提升
  • 4G模块驱动移植
  • 软件测试团队必看:测试指标 TOP 3 榜单
  • 【seata】引入seata导致原本自定义实现的RequestInterceptor失效
  • SSM - Springboot - MyBatis-Plus 全栈体系(七)
  • TypeScript逆变 :条件、推断和泛型的应用
  • OpenStack创建云主机并连接CRT
  • 04Spring的核心配置文件
  • 构建个人图床云盘—EasyImage的简单部署及远程访问配置
  • 计算机网络选择题笔记
  • 【AI语言大模型】文心一言功能使用介绍
  • JSP ssm 网上求职管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计
  • 2021年电工杯数学建模A题高铁牵引供电系统运行数据分析及等值建模求解全过程论文及程序
  • List 获取前N条数据
  • 虹科分享 | 来自Redis7.2的一封信:亲爱的Programmer,当你......
  • 抖音小店经营指南:在兴趣电商背景下打造成功的抖音店铺
  • ts 泛型基础介绍
  • AOSP Android 系统源码编译出的framework.jar和android.jar之间的区别
  • 99%的人还看了

    猜你感兴趣

    版权申明

    本文"[JAVAee]SpringBoot配置文件":http://eshow365.cn/6-8925-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!