认识 springboot 之 它的配置文件 -2


前言

本篇了解springboot中配置的作用,介绍配置文件的种类,介绍简单使用配置文件,简单的小技巧如何设置注释,开启热部署等等,如有错误,请在评论区指正,让我们一起交流,共同进步!


文章目录

  • 前言
  • 1.配置文件是什么?
  • 2. 两种配置文件的格式
    • 2.1 application.properties - 新手推荐使用
    • 2.2 application.yml / application.yaml
  • 3. 配置文件中使用的注释
  • 4. springboot开启热部署
    • 什么是springboot的热部署?
    • 配置热部署:
  • 5. 在不同环境中设置配置文件
  • 总结

本文开始

1.配置文件是什么?

配置文件的作用:配置项目中所有重要的数据,例如数据库连接信息,启动端口等等;

  • 配置文件中配置类型的分类:
    a)系统配置项 ex : server.port ; - 给系统/框架使用
    b)用户自定义配置 ex : my_image.path;- 开发者使用
  • 读取配置项:通过注释@Value() + 注释参数为 " $ {} " =》例如:@Value(“${my_image.path}”) =》再设置一个属性myImage 就会存放到该属性中;

2. 两种配置文件的格式

2.1 application.properties - 新手推荐使用

格式:键值形式 kay=value
例如:server.port=8081

注释特点:默认字符集不是UTF-8, 写注释会乱码;解决方式在下面,设置一下就行了;

优点:配置文件结构清晰:都是key=value
.properties 与 .yml 同时出现,系统默认识别.properties
缺点:相同的配置名称不能省略

.properties配置数据库信息示例:

在这里插入图片描述

读取配置文件:

  • xxx.properties读取属性:通过注释@Value(): @Value(“${属性名}”)

2.2 application.yml / application.yaml

格式:树形形式 kay: value - 分层级
注释特点:默认字符集是UTF-8, 写注释不会乱码;
例如:注意 值 与 冒号 之间有空格;注意缩进关系;

# 下列分层级 相当于 server.port=8082
server: 
  port: 8082

优点:写法简单, 支持多编程语言;

.yml配置数据库信息示例:

在这里插入图片描述

读取配置文件

  • xxx.yml 读取属性:通过注释@Value(): @Value(“${属性名}”)
  • yml中读取对象的方式:
    使用注解:@ConfigurationProperties()
    【注】读取对象的注释与五大类注释一起使用;
    读取yml配置文件中的对象,先创建一个与对象对应的类;类中的属性与yml配置文件的属性一一对应;且创建的类中必须包含get,set方法;
//配置文件中内容
student:
  id: 1
  name: 张三
  age: 18
  
//创建类,读取yml中的对象
@ConfigurationProperties("student")
@Component // 使用5大类注解目的:该类会随着springboot的启动而启动
public class User {
    private int id;
    private String name;
    private int age;
//类中的属性与配置文件中的属性相对应,并带有get + set方法
//......省略get+set方法

//显示
@Controller
@ResponseBody
@RequestMapping("/user")
public class UserController {
    @Autowired //获取:将容器中的对象,给User对象
    private User user;
    @PostConstruct //初始化
    public void doPostContruct() {
        System.out.println(user.toString());
    }
}

结果:在这里插入图片描述

  • 两种配置文件的区别
    a) 使用不同:properties使用key=value形式,而.yml使用key冒号+空格+value的形式;
    b) 通用性不一样:properties只是java中的配置文件,yml支持多种语言;
    c) yml支持多种数据类型;

3. 配置文件中使用的注释

注释一样,但是
application.properties默认编码不是UTF-8,会出现乱码;
application.yml 默认编码是UTF-8
解决方式:
在设置中找到settings 和 New Projects Setup 中的Setting for New Projects 搜索encoding, 将所有编码设置为UTF-8;

在这里插入图片描述

在这里插入图片描述

4. springboot开启热部署

什么是springboot的热部署?

热部署作用:自己写完代码不需要手动重启,新代码可以自动生效;(只执行修改过的.class文件,不用重启项目,提高了开发效率)

配置热部署:

1.添加springboot-dev-tool依赖
2.在idea设置中配置,开启项目自动编译

在这里插入图片描述

在这里插入图片描述

5. 在不同环境中设置配置文件

1.配置文件的约定:application-xxx.properties; (xxx处可修改)
2.配置了许多环境,在application.properties设置运行环境:
spring.profiles.activ=dev

//设置的配置文件
application.properties
application-dev.properties
application-prod.properties
application-test.properties

总结

✨✨✨各位读友,本篇分享到内容如果对你有帮助给个👍赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

查找-多路查找详解篇

多路查找树 多路查找树(Multway Search Tree)是一种高级的树形数据结构,它 允许每个节点有多个子节点(通常大于等于2)。多路查找树的每个节点 可以存储多个关键字和对应的值。分类 2-3树(2-3 Tree&#x…

Vite+Vue3 开发UI组件库并发布到npm

一直对开源UI组件库比较感兴趣,摸索着开发了一套,虽然还只是开始,但是从搭建到发布这套流程基本弄明白了,现在分享给大家,希望对同样感兴趣的同学有所帮助。 目前我的这套名为hasaki-ui的组件库仅有两个组件&#xff0…

FitBot-一款先进的以健康为中心的聊天机器人

在健康意识高涨,追求均衡生活方式成为普遍追求的时代,营养问题无疑是核心支柱。然而,饮食计划的复杂性和大量的营养数据往往成为我们实现这种平衡的障碍。例如糖尿病患者,他们需要持续和准确的营养指导来有效管理血糖水平。如果能…

框架的知识点整理

目录 1、什么是Spring框架?Spring框架有哪些主要模块? 2 、 使用Spring框架有什么好处? 3、Spring MVC 工作原理 1、什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个开源的轻量级的Java应用程序开…

Spring事务创建与使用

目录 前言Spring中事务的实现声明式事务Transactional 作⽤范围Transactional 参数说明对于事务不回滚的解决方案 前言 在数据库中我们提到了 事务, 事务的定义为, 将一系列操作封装成一个整体去调用 , 要么一起成功, 要么一起失败 Spring中事务的实现 在Spring中事务的操作…

电动汽车市场的减速,正在让小鹏汽车付出代价

来源:猛兽财经 作者:猛兽财经 总结: (1)由于价格压力上升、竞争加剧和需求减弱,小鹏汽车的交付量出现了明显下滑,6月份的交付量已经同比下降了43%。 (2)小鹏汽车对2023年…

服务调用---------Ribbon和Feign

目录​​​​​​​ 1、Ribbon 1.1 Ribbon简介 1.2 Ribbon负载均衡 负载均衡原理 负载均衡策略 Ribbon和Nginx的区别 1.3 服务调用和Ribbon负载均衡实现 2、Feign&openFeign 3、Feign支持的配置 日志功能 连接池 feign-api远程包 1、Ribbon 1.1 Ribbon简介 Ribb…

【Vue3+Ts+Vite】配置滚动条样式

一、先看效果 二、直接上代码 <template><div class"main-container"><h1 v-for"index in 50" :key"index">这是home页面</h1></div> </template> <style lang"scss" scoped> .main-conta…

【AI底层逻辑】——篇章5(下):机器学习算法之聚类降维时间序列

续上&#xff1a; 目录 4、聚类 5、降维 6、时间序列 三、无完美算法 往期精彩&#xff1a; 4、聚类 聚类即把相似的东西归在一起&#xff0c;与分类不同的是&#xff0c;聚类要处理的是没有标签的数据集&#xff0c;它根据样本数据的分布特性自动进行归类。 人在认知是…

Flutter 最佳实践和编码准则

Flutter 最佳实践和编码准则 视频 前言 最佳实践是一套既定的准则&#xff0c;可以提高代码质量、可读性和可靠性。它们确保遵循行业标准&#xff0c;鼓励一致性&#xff0c;并促进开发人员之间的合作。通过遵循最佳实践&#xff0c;代码变得更容易理解、修改和调试&#xff…

基于光子实验的指数级加速的量子同态加密理论

前言 量子计算机不仅有望在某些重要任务上超越经典计算机&#xff0c;而且还能保护计算的隐私。例如&#xff0c;盲量子计算协议支持安全委托量子计算&#xff0c;其中客户端可以保护其数据和算法的隐私&#xff0c;不受分配来运行计算的量子服务器的影响。然而&#xff0c;这…

​《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话​

1.简介 由于近几年来各大网站越来越注重安全性都改成了https协议&#xff0c;不像前十几年前直接是http协议直接裸奔在互联网。还有的小伙伴或者童鞋们按照上一篇宏哥的配置都配置好了&#xff0c;想大展身手抓一下百度的包&#xff0c;结果一试傻眼了&#xff0c;竟然毛都没有…

Selenium+Java环境搭建(测试系列6)

目录 前言&#xff1a; 1.浏览器 1.1下载Chrome浏览器 1.2查看Chrome浏览器版本 1.3下载Chrome浏览器的驱动 2.配置系统环境变量path 3.验证是否成功 4.出现的问题 结束语&#xff1a; 前言&#xff1a; 这节中小编给大家讲解一下有关于Selenium Java环境的搭建&…

数据结构: 线性表(顺序表实现)

文章目录 1. 线性表的定义2. 线性表的顺序表示:顺序表2.1 概念及结构2.2 接口实现2.2.1 顺序表初始化 (SeqListInit)2.2.2 顺序表尾插 (SeqListPushBack)2.2.3 顺序表打印 (SeqListPrint)2.2.6 顺序表销毁 (SeqListDestroy)2.2.5 顺序表尾删 (SeqListPopBack)2.2.6 顺序表头插 …

晋级榜单揭晓!华秋第九届硬创大赛-华南分赛区路演成功举办

7月21日&#xff0c;第十五届深创赛福田预选赛区暨华秋第九届硬创大赛华南分赛区决赛路演活动在深圳华强科创广场成功举办。活动由深圳华秋电子有限公司&#xff08;以下简称 华秋 &#xff09;、深圳市福田区新一代信息技术产业链党委、深圳新一代产业园、微纳研究院、华强科创…

【嵌入式学习笔记】嵌入式入门1——GPIO

1.什么是GPIO General Purpose Input Output&#xff0c;即通用输入输出端口&#xff0c;简称GPIO&#xff0c;作用是负责采集外部器件的信息或者控制外部器件工作&#xff0c;即输入输出。 2.STM32 GPIO简介 2.1.GPIO特点 不同型号&#xff0c;IO口数量可能不一样&#x…

中小学分班查询系统0成本制作方法公布了,人人可用

传统的学生分班查询平台通常需要进行专业的技术开发&#xff0c;以实现学生查询和查看分班信息的功能。这个过程涉及到软件开发、数据库设计、系统集成等多个环节&#xff0c;需要有一支专业的技术团队来完成。 然而&#xff0c;这样的技术开发和维护过程需要耗费大量的经济成…

HBase有写入数据,页面端显示无数据量

写了一个测试类&#xff0c;插入几条数据&#xff0c;测试HBase的数据量。很简单的功能&#xff0c;这就出现问题了。。网页端可以看到&#xff0c;能够看到读写请求&#xff0c;但是不管是内存、还是磁盘&#xff0c;都没有数据。 于是就想到去HDFS查看&#xff0c;也是有数据…

Python简要复习

Python程序设计复习 Python基础知识 python的特点 兼具编译型和解释型特性&#xff0c;兼顾过程式、函数式和面向对象编程范式的通用编程语言 解释型语言无需像编译型需要一次性的编译成机器码&#xff0c;然后运行&#xff0c;而是由名叫解释器的程序动态的将源代码逐句转…

热备份路由协议原理

热备份路由协议原理 HSRP协议/VRRP协议热备份协议 热备份协议&#xff08;Hot Standby Protocol&#xff09; 是一种基于冗余设计的协议&#xff0c;用于提高网络的可靠性和冗余性。它允许多个设备共享同一个IP地址&#xff0c;其中一个设备被选为主设备&#xff0c;其他设备…
最新文章