11-30 SpringBoot2

热部署

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

项目上线,一定要关闭

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.mzph.cn/news/187102.shtml

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

相关文章

链表高频面试题

1. 两个链表第一个公共子节点 LeetCode160 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: listA [4,1,8,4,5], listB [5…

CompletableFuture使用

一、核心API public static CompletableFuture<Void> runAsync(Runnable runnable)public static CompletableFuture<Void> runAsync(Runnable runnable,Executor executor)public static <U> CompletableFuture<U> supplyAsync(Supplier<U> su…

【智能家居】二、添加火灾检测模块(烟雾报警功能点)

可燃气体传感器 MQ-2 和 蜂鸣器 代码段 controlDevice.h&#xff08;设备控制&#xff09;smokeAlarm.c&#xff08;烟雾报警器&#xff09;buzzer.c&#xff08;蜂鸣器&#xff09;mainPro.c&#xff08;主函数&#xff09;运行结果 可燃气体传感器 MQ-2 和 蜂鸣器 代码段 …

Pycharm配置jupyter使用notebook详细指南(可换行conda环节)

本教程为事后记录&#xff0c;部分图片非实操图片。 详细记录了pycharm配置jupyter的方法&#xff0c;jupyter添加其他conda环境的方法&#xff0c;远程密码调用jupyter的方法&#xff0c;修改jupyter工作目录的方法。 文章目录 一、入门级配置1. Pycharm配置Conda自带的jupyt…

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

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

三、shell - 变量

目录 1、简介 1.1 变量的定义语法: 1.2 变量的定义需遵循的规则 1.3 变量的作用域 2、用户变量 2.1 定义变量 2.2 访问变量 2.3 变量的其他赋值方式 2.4 只读变量 2.5 删除变量 ​​​​​​​3、环境变量 ​​​​​​​3.1 常见的环境变量 ​​​​​​​3.2 自…

030 - STM32学习笔记 - ADC(四) 独立模式多通道DMA采集

030 - STM32学习笔记 - ADC&#xff08;四&#xff09; 独立模式多通道DMA采集 中断模式和DMA模式进行单通道模拟量采集&#xff0c;这节继续学习独立模式多通道DMA采集&#xff0c;使用到的引脚有之前使用的PC3&#xff08;电位器&#xff09;&#xff0c;PA4&#xff08;光敏…

【刷题笔记】串联所有单词的子串||暴力通过||滑动窗口

串联所有单词的子串 1 题目描述 https://leetcode.cn/problems/substring-with-concatenation-of-all-words/ 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 …

基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示整数、小数应用

基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示整数、小数应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍液晶显示器LCD1602简单介绍IIC通信简单介绍…

【每日一题】1657. 确定两个字符串是否接近-2023.11.30

题目&#xff1a; 1657. 确定两个字符串是否接近 如果可以使用以下操作从一个字符串得到另一个字符串&#xff0c;则认为两个字符串 接近 &#xff1a; 操作 1&#xff1a;交换任意两个 现有 字符。 例如&#xff0c;abcde -> aecdb操作 2&#xff1a;将一个 现有 字符的…

解决plot画图中文乱码问题(macbook上 family ‘sans-serif‘ not found)

一、matplotlib画图中文乱码问题 使用matplotlib.pyplot画图&#xff0c;有中文字体会显示乱码问题&#xff0c;这时需要添加如下代码&#xff1a; import matplotlib.pyplot as pltplt.rcParams["font.sans-serif"] ["SimHei"]二、macbook没有SimHei的…

分布式仿真SNN的思考

我之前实现的仿真完全基于如下图设计的 将整体的网络构成见一个邻接表&#xff0c;突触和神经元作为类分别存储&#xff0c;所以当一个神经元发射脉冲时&#xff0c;很容易的将脉冲传输到突触指向的后神经元。但是在分布式方丈中&#xff0c;由多个进程仿真整体的网络&#xff…

WPS导出的PDF比较糊,和原始的不太一样,将带有SVG的文档输出为PDF

一、在WPS的PPT中 你直接输出PDF可能会导致一些问题&#xff08;比如照片比原来糊&#xff09;/ 或者你复制PPT中的图片到AI中类似的操作&#xff0c;得到的照片比原来糊&#xff0c;所以应该选择打印-->高级打印 然后再另存为PDF 最后再使用AI打开PDF文件再复制到你想用…

基于单片机的排队叫号系统设计

1&#xff0e;设计任务 利用AT89C51单片机为核心控制元件,设计一个节日彩灯门&#xff0c;设计的系统实用性强、操作简单&#xff0c;实现了智能化、数字化。 基本要求&#xff1a;利用单片机AT89C51设计排队叫号机&#xff0c;能实现叫号功能。 创新&#xff1a;能显示叫号…

猫头虎分享ubuntu20.04下VSCode无法输入中文解决方法

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

【EasyExcel】导出excel并支持自定义设置数据行背景颜色等

需求背景&#xff1a; 根据查询条件将列表数据导出&#xff0c;并筛选出满足某个条件的数据&#xff0c;将满足条件的数据的背景颜色设置成黄色。 &#xff08;本文例子如&#xff1a;name出现的次数大于等于2&#xff0c;将相关数据背景颜色都设置为黄色&#xff09; …

算法通关村第一关—链表高频面试题(白银)

链表高频面试题 一、五种方法解决两个链表的第一个公共子节点的问题 面试 02.07.链表相交1.首先想到的是暴力解&#xff0c;将第一个链表中的每一个结点依次与第二个链表的进行比较&#xff0c;当出现相等的结点指针时&#xff0c;即为相交结点。虽然简单&#xff0c;但是时间…

常见智力题汇总

常见智力题汇总 扔瓶子问题扑克牌问题出队问题烧绳子问题赛马问题求出前三名求出前五名 接水问题种树问题硬币问题宝石问题核酸检测问题 笔者最近面试遇到了好几道智力题&#xff0c;这些题目特点就是如果没有见过&#xff0c;很难第一时间思考得到答案&#xff0c;因此笔者面试…

VUE2+THREE.JS项目搭建

THREE项目搭建 简介学习文档推荐搭建1.下载three.js2.新建3DWorkShop.vue文件3.创建utils/three/tool.js4.创建components/three/draw.vue[重点]4.1 引入文件4.2 初始化场景4.3 初始化渲染器4.4 初始化光源4.5 初始化相机(人眼模式)4.6 初始化控制器4.7 初始化动画4.8 添加全局…

功率信号源简介及其应用有哪些内容

功率信号源是一种能够提供稳定输出功率信号的设备或电路。它在许多领域中都有广泛的应用。以下是一些关于功率信号源的内容&#xff1a; 功率信号源简介&#xff1a;功率信号源是一种电子设备或电路&#xff0c;它能够提供稳定的输出功率信号。功率信号源通常由放大器、稳压器、…