11-30 SpringBoot2

news2024/12/24 2:16:37

热部署

开发过程中,修改代码,不需要重启,自动更新

项目上线,一定要关闭

SpringBoot热部署的实现??

ideal默认阻止class类更新

2.需要手动构建项目,可以使用快捷键激活此功能ctrl + F9  / build project

自动构建项目

允许程序运行时自动构建

推荐:使用手动更新


项目上线关闭:

1.删除spring-boot-devtools依赖

2.SpringBoot全局配置

SpringBoot的配置文件

Springboot提供的自动配置,需要参数只能程序员提供, SpringBoot配置参数允许配置方:式

从上往下:优先级从低到高,

11配置的 会覆盖3的 比如说端口

命令行的方式设置参数,由于优先级的关系,会直接覆盖第三步直接在外部命令行就可以设置了

不是项目内部配置的8080端口

实现运维的参数外部更改  方便后续yaml文件,yml文件是同一类型文件,只是后缀名不一样

系统配置文件

分为三类

1.properties

2.yaml

3.yml

yaml文件,yml文件是同一类型文件,只是后缀名不一样

properties文件:语法: key=value
每一个key/value独占一行

语法简单 如果key一样 重复写 没有缩进格式

yml文件:

大小写敏感
属性层级关系使用多行描述,每行结尾使用冒号结束使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)#号表示注释

password:后面敲一个空格

yml:

properties:

yml和properties转换:

SpringBoot允许都在文件存在, yml与properties,yaml共存

1.每个文件中配置项不一样.把这个文件所有的配置项组合在一起

如果有两个端口?9090和8080

yml我如果加一个9090

如果没有提示?

三个配置,依旧以8090为准

注释yaml的端口 以yml为准 9090  然后最后是properties

怎么读取这些数据呢?(重点)

1.如果配置参数写在application.yml/properties不需要手动加载文件, springboot自动加载文件2。如果配置参数写在非application.yml/properties文件中,需要手动加载文件,通过
@PropertySource("data.yml")

第一种方式:读取单个值: @Value注解

@Value只能注入一个值  缺陷哦

第二种方式:

SpringBoot提供了一个对象,能够把所有的数据都封装到这一个对象中,这个对象叫做Environment

读取整个的对象数据(多个值)

数组也能注入:

读取某个对象属性注释ConfigurationProperties("stu1")

或者单个单个的来读

注意事项:
随机值,在程序启动的时候,生成的,把这个值提供$表达式
每次获取这个值,是固定的值

多环境配置(运维)

项目经过多种环境下运行,开发者在开发项目的时候,直接在开发者电脑上运行,这个环境称为开发环境,测试人员对项目进行测试,项目部署在测试服务器上,这个环境称为测试环境,项目开发完成,测试通过,项目.上线部署,这个环境称为生产环境

这些环境配置肯定是不一样,比如数据库参数,缓存参数...如果是让运维人员使用配置外部化,需要在命令行使用-写很多的配置参数名,,很麻烦,容易出错
SpringBoot提供了多环境配置,由开发者在开发阶段,就为不同环境提供不同的配置,根据项目在那个环境运行,激活那个环境配置
多环境配置:
 yml配置文件:

mybatis:
  mapper-locations: classpath*:mapper/*Mapper.xml
  type-aliases-package: com.huse.springbootbookshop.entity
pagehelper:
  helper-dialect: mysql
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    password: root
    url: jdbc:mysql://localhost:3306/book_shop?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: root
 

yml方式

yml配置文件:
。第一种方式,在一个配置文件中(application.yml)编写多个环境配置
。第二种方式:多文件配置每一个环境对应一个配置文件 推荐
properties配置文件:多文件配置每一个环境对应一个配置文件 推荐

命名规范: 生成环境: prod  测试环境: test     开发环境: dev

生产环境,测试环境,开发环境三个环境由4个配置:

  • 三个环境的配置文件
  • 主配置文件: application.yml  公共配置

(改pom 本版 jdk)  改成yml格式配置文件

多文件配置

properties配置文件:多文件配置每一个环境对应一个配置文件 推荐
与yml的多文件是一样,文件后缀名为properties

application.properties

激活: spring.profiles.active=XX

application-dev.propertieso

application-test.properties

application-prod.properties

SpringBoot日志记录

开发中,打印一些内容,使用日志输出,不要使用System.out.printin()lombok插件:在类上使用@Slf4j注解,自动给类注入一个log(日志对象)

SpringBoot默认使用日志框架: logback

日志的级别:

定义log日志输出级别

 

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

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

相关文章

rabbitMQ镜像队列的使用

在rabbitMQ集群中,默认发送消息时,队列默认时在一个节点上存在的。 我们以node01 node02 node03三节点集群为例,在node01声明队列发送消息后,发现: 测试队列只在节点node01上出现。 我们手动停止node01后&#xff0c…

Vue大屏自适应终极解决方案

v-scale-screenv-scale-screen是一个大屏自适应组件,在实际业务中,我们常用图表来做数据统计,数据展示,数据可视化等比较直观的方式来达到一目了然的数据查看,但在大屏开发过程中,常会因为适配不同屏幕而感…

Redis7--基础篇4(Redis事务)

Redis事务是什么 可以一次执行多个命令,本质是一组命令的集合,一个事务中的所有命令都会序列化,按顺序串行,而不会被其他命令插入。 其作用就是在一个队列中,一次性、顺序、排他的执行一系列命令。 Redis事务 VS 数据…

华为云cce负载配置时间同步

华为云cce将负载配置好之后,发现里面的时间与真实时间不同步,差了12小时,怎么办? 这时候就需要配置时间同步了。 华为云cce里面通过配置数据存储的路径来解决这个问题的,配置后,需要重启负载。 新建负载…

Java中的synchronized关键字

目录 1、synchronized是什么 2、synchronized的用法 synchronized可以用在方法或者代码块上,分别称为同步方法和同步代码块。 用法理解 3、synchronized的实现原理 ⭐synchronized锁的对比 4、synchronized的优缺点 ⭐扩展:synchronized 和 vola…

JAVA全栈开发 day15_集合(Set接口、增强For循环、Map体系)

一、增加for遍历集合 语法: for(数据类型 变量名: 数组名或集合){​ }//集合遍历 ,推荐使用增加for 1.静态导入 注意事项: 方法必须是静态注意不要和本类的方法同名,如果同名,记得加前缀,由此可…

vue中.sync修饰符与$emit(update:xxx)双向数据绑定

文章目录 一、单向数据流二、props父子传值2.1、父组件2.2、子组件2.3、优缺点2.3.1、优点2.3.2、缺点 三、.sync修饰符双向绑定3.1、父组件3.2、子组件3.3、优缺点3.3.1、优点3.3.2、缺点 3.4、[文档](https://v2.cn.vuejs.org/v2/guide/components-custom-events.html#sync-%…

【快速见刊|投稿优惠】2024年机电一体与自动化技术国际学术会议(IACMAT 2024)

2024年机电一体与自动化技术国际学术会议(IACMAT 2024) 2024 International Academic Conference on Mechatronics and Automation Technology(IACMAT 2024) 一【会议简介】 2024年机电一体与自动化技术国际学术会议(IACMAT 2024)即将召开,它以“机电一体&#xff0…

利用Linux中的iptables进行网络代理配置

作为资深爬虫技术员,爬虫需要代理IP池介入这是众所周知的。今天我将用我毕生所学,谈谈linux中使用iptables工具来进行网络配置,并通过linux系统创建属于自己的ip库池,如有错误望各位大佬指正。 我们知道,在Linux中&am…

Windows10中在Visual Studio2017中VC++项目安装使用GoogleTest库

Windows10中在Visual Studio2017中VC项目安装使用GoogleTest库 在Windows10中VC程序中可以不用自己手动下载GoogleTest源代码,可以直接通过【项目】-> 【管理 NuGet 程序包】-> 【浏览】-> 搜索 googletest, 找到Microsoft.googletest.v140.wi…

音乐播放器Swinsian mac功能介绍

Swinsian mac是一款音乐播放器,它的特点是轻量级、快速、易用。Swinsian支持多种音频格式,包括MP3、AAC、FLAC、WAV等。它还具有iTunes集成功能,可以自动导入iTunes音乐库中的音乐,并支持智能播放列表、标签编辑、自定义快捷键等功…

#HarmonyOS:软件安装window和mac预览Hello World

Window软件地址 https://developer.harmonyos.com/cn/develop/deveco-studio#download 安装的建议 这个界面这样选,其他界面全部按照默认路径往下走!!! 等待安装… 安装环境错误处理 一般就是本地node配置异常导致&#xff…

FPGA falsh相关知识总结

1.存储容量是128M/8 Mb16MB 2.有256个sector扇区*每个扇区64KB16MB 3.一页256Byte 4.页编程地址0256 5:在调试SPI时序的时候一定注意,miso和mosi两个管脚只要没发送数据就一定要悬空(处于高组态),不然指令会通过两…

Lesson 08 string类 (中)

C:渴望力量吗,少年? 文章目录 二、string类的介绍与使用2. 使用(5)string类对象的修改操作 三、拷贝1. 引入2. 浅拷贝3. 深拷贝 总结 二、string类的介绍与使用 2. 使用 (5)string类对象的修改…

第一百八十五回 如何禁止页面跟随手机自动旋转

文章目录 1. 概念介绍2. 使用方法2.1 全面禁止2.2 局部禁止3. 示例代码4. 内容总结我们在上一章回中介绍了"如何自定义Radio组件"相关的内容,本章回中将介绍 如何禁止页面随手机自动旋转.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 在手机默认设置下,手机…

CentOS7.5搭建Hadoop-3.3.6集群的详细操作流程-实操版本

一、准备工作 1、安装 VMware,已安装的,跳过此步骤即可 官方正版VMware下载(16 pro):https://www.aliyundrive.com/s/wF66w8kW9ac 安装:选一下安装地址,一直下一步即可。(可能会要…

QListWidget中自定义widget大小自适应

背景: QListWidget中的item,可以添加自定义的widget。 但是怎么去调整widget的大小呢? 参考:QT QListWidget的添加与删除,滚动条显示或隐藏,判断是否滑到顶部或底部,并使QListWidgetItem自适…

.Net 8 Blazor下 Auto交互渲染模式试用

一、环境 C:\Users\zhuji>dotnet --version 8.0.100C:\Users\zhuji>dotnet --list-sdks 5.0.403 [C:\Program Files\dotnet\sdk] 6.0.404 [C:\Program Files\dotnet\sdk] 8.0.100 [C:\Program Files\dotnet\sdk] Microsoft Visual Studio Enterprise 2022 (64 位) - Cu…

SQL Sever 基础知识 - 数据查询

SQL Sever 基础知识 - 一、查询数据 一、查询数据第1节 基本 SQL Server 语句SELECT第2节 SELECT语句示例2.1 SELECT - 检索表示例的某些列2.2 SELECT - 检索表的所有列2.3 SELECT - 对结果集进行筛选2.4 SELECT - 对结果集进行排序2.5 SELECT - 对结果集进行分组2.5 SELECT - …

数学建模-基于集成学习的共享单车异常检测的研究

基于集成学习的共享单车异常检测的研究 整体求解过程概述(摘要) 近年来,共享单车的快速发展在方便了人们出行的同时,也对城市交通产生了一定的负面影响,其主要原因为单车资源配置的不合理。本文通过建立单车租赁数量的预测模型和异常检测模型…