36.SpringBoot实用篇—运维

目录

一、实用篇—运维。

(1)程序打包与运行(Windows版)。

(2)spring-boot-maven-plugin插件作用。

(3)程序打包与运行(Linux版)。

(4)配置高级。

(4.1)临时属性设置(命令行)。

(4.2)临时属性设置(开发环境)。

(4.3)配置文件(等级)分类。

(4.4)自定义配置文件。

(5)多环境开发。

(5.1)多环境开发—单配置文件格式(YAML版)。

 (5.2)多环境开发—多配置文件格式(YAML版)。

 (5.3)多环境分组管理(多配置文件再根据功能细分)。

(5.4)多环境开发控制。(Maven与SpringBoot多环境冲突现象解决方案)

(6)日志。

(6.1)日志基础。

(6.2)使用注解来获取日志对象。

(6.3)日志输出格式控制。

(6.4)日志文件。


一、实用篇—运维

(1)程序打包与运行(Windows版)。

如果在idea中操作,则使用maven的生命周期方法:clear(删除target目录)—》package —》win + R —》java -jar  springboot_01_quickstart.jar。(项目启动成功如下) 

(2)spring-boot-maven-plugin插件作用。

注意:要有这个插件才能在命令行中启动成功。 

JarLauncher 是 Spring Boot 中的一种启动器(Starter),但它与其他普通的启动器略有不同。

在 Spring Boot 应用程序中,JarLauncher 通常作为 Spring Boot 应用程序的默认启动器,用于启动可执行的 Jar 包。当我们使用 java -jar 命令启动 Spring Boot 应用程序时,就会自动使用 JarLauncher 进行应用程序的启动和初始化。

与其他启动器不同的是,JarLauncher 并不包含依赖项的管理和配置信息,而是专门用于解析并启动可执行的 Jar 包。同时,它还提供了一些基础的配置项,例如设置启动的 Jar 包路径、指定特定的配置文件等。

需要注意的是,尽管 JarLauncher 是 Spring Boot 中的一种启动器,但它并不需要单独引入,因为它已经被打包在 Spring Boot 库中,并作为 Spring Boot 应用程序的默认启动器。

因此,可以说 JarLauncher 是 Spring Boot 应用程序的启动器之一,但它不是普通的启动器,而是专门用于启动可执行的 Jar 包的启动器。

(3)程序打包与运行(Linux版)。

(4)配置高级。

(4.1)临时属性设置(命令行)。

(4.2)临时属性设置(开发环境)。

(4.3)配置文件(等级)分类。

properties与yml的优先级:先看层级,如果同层级目录,则properties优先级高于yml。
如:config的yml优先级大于外边的properties配置文件。

下面说的1级、2级:即配置文件与项目jar配置文件与项目工程在同一目录。

需要注意的地方(看执行项目的是哪种格式)有两个:

1、如果执行的是jar包:yml与jar在同一目录下。

2、如果执行的是项目(非jar包):yml与springboot_03_yaml在同一目录。

配置文件分类参考如下:

(4.4)自定义配置文件。

作用:配置文件名称不用application时,就需要使用临时属性告诉springboot。

绝对路径指定自定义配置文件:

--spring.config.location=D:\springboot\springboot_09_config\src\main\resources

\ebank.yml

注意指定了自定义配置文件,那么spirngboot默认的配置文件都不会生效。

如果指定了自定义配置文件,它将会替换默认情况下的 application.yml 或 application.properties 文件,而不是与其合并

(5)多环境开发。

(5.1)多环境开发—单配置文件格式(YAML版)。

注意:这种暴露配置,全部都写在同一个配置文件中,开发人员可以看到。

 (5.2)多环境开发—多配置文件格式(YAML版)。

 (5.3)多环境分组管理(多配置文件再根据功能细分)。

第一种方式:使用include。

缺点:一改active属性值,include全都要改。

spring:profiles:active: dev(3)include: devMVC(1),devDB(2)
注意:(1)代表它最先加载,然后(2)加载。。。。;后面加载的覆盖前面加载。

第二种方式:使用group。(推荐)

优点:修改active属性值后, 其他不需要变。

spring:profiles:active: dev(1)group:"dev": devDB(2),devMVC(3)"pro": proDB(2),proMVC(3)

(5.4)多环境开发控制。(Maven与SpringBoot多环境冲突现象解决方案)

application.yml配置文件:

spring:profiles:active: @profile.active@group:"dev": devDB,devMVC"pro": proDB,proMVC

在pom.xml中: 

<!--设置多环境--><profiles><profile><id>env_dev</id><properties><profile.active>dev</profile.active></properties><activation><activeByDefault>true</activeByDefault></activation></profile><profile><id>env_pro</id><properties><profile.active>pro</profile.active></properties></profile></profiles>

(6)日志。

(6.1)日志基础。

logging:level:root: infocom.itheima.controller: debugebank: debuggroup:ebank: com.itheima.controller,com.itheima.service,com.itheima.daoiservice: com.aliyun

(6.2)使用注解来获取日志对象。

(6.3)日志输出格式控制。

(6.4)日志文件。

logging:level:root: infocom.itheima.controller: debugebank: debuggroup:ebank: com.itheima.controller,com.itheima.service,com.itheima.daoiservice: com.aliyunfile:name: server.loglogback:rollingpolicy:max-file-size: 5KBfile-name-pattern: server.%d{yyyy-MM-dd}.%i.log#举例:server.2020-01-01.0.log。{yyyy-MM-dd}是格式,可以不写
# 设置日志模板格式
#  pattern:
#    console: "%d - %m%n"
#    console: "%d %5p %n "
#    console: "%d %clr(%5p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"

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

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

相关文章

Vue3对于一个前端来讲意味着什么?

最近很多技术网站&#xff0c;讨论的最多的无非就是Vue3了&#xff0c;大多数都是Composition API和基于Proxy的原理分析。但是今天想着跟大家聊聊&#xff0c;Vue3对于一个低代码平台的前端更深层次意味着什么&#xff1f; 首先&#xff0c;Vue是前端三大主流框架之一&#xf…

jedis使用,操作Redis数据库2

在刚刚ping通的基础上,再来通过jedis连接池连接redis 在resources下创建redis.properties配置文件,在配置文件中写如下内容 # 必配 # Redis服务器地址(域名或IP) redis.host192.168.40.100 # Redis服务器连接端口(Redis默认端口号是6379) redis.port6379 # Redis服务器连接密码…

Redis实战篇(三)

四.分布式锁 4.1.分布式锁概述 分布式锁&#xff1a;满足分布式系统或集群模式下多进程可见并且互斥的锁。分布式锁的核心思想就是让大家都使用同一把锁&#xff0c;只要大家使用的是同一把锁&#xff0c;那么我们就能锁住线程&#xff0c;不让线程并行&#xff0c;让程序串行…

Use ELK with Django Log

What is ELK? The ELK Stack is a collection of three open source products: ElasticsearchLogstashKibana When to use ELK? ELK is designed to allow us to take data from any source, in any format, and to search, analyze, visualize data in real time. At t…

Es索引中时间字段是字符串Range查询的正确姿势

文章目录 [toc] 1. 问题2. Es索引的mapping模式2.1 dynamic动态宽松模式&#xff08;动态映射&#xff09;2.2 strict严格模式&#xff08;静态映射&#xff09; 3. text类型和keyword类型的区别3.1 text类型3.2 keyword类型 4.正确姿势5. 总结 1. 问题 由于之前搞了一个使用fl…

panda3d 模型转换命令复习学习

在此学习了把maya模型转换为panda3d的egg格式&#xff1b; 在Panda3d中转换Maya模型为egg格式并使用pview查看_panda3d egg文件浏览器_bcbobo21cn的博客-CSDN博客 下面继续看一下模型转换命令&#xff1b;列出带 egg 字符串的命令&#xff1b; 先复习一下&#xff0c;可以把m…

数据库—概念学习

文章目录 总览全局数据库数据库管理系统DBA数据库管理员数据库系统的体系结构三层模式两级映像独立性 数据模型数据库技术的产生与发展相关定义 总览全局 整个数据库系统所包含为&#xff1a; 数据库&#xff08;数据的集合叫做一个库&#xff09;数据库管理系统数据库应用系…

【azure】office 365邮箱auth2认证之spa的刷新令牌过期后如何处理

参考&#xff1a;https://learn.microsoft.com/zh-cn/azure/active-directory/develop/refresh-tokens 官方对令牌和刷新令牌生命周期的描述 已失效的刷新令牌如何获取新的令牌和刷新令牌 /*** office 365使用失效的刷新令牌和应用程序的相关信息来获取新的访问令牌和刷新令牌…

kafka入门,数据去重(九)

数据传递语义 至少一次&#xff1a;ACK级别设置为-1分区副本大于等于2ISR里应答的最小副本数量大于等于2 最多一次&#xff1a;ACK级别设置为0 总结&#xff1a; At Least Once&#xff1a;可以保证数据不丢失&#xff0c;但是不能保证数据不重复 At Most Once&#xff1a;可以…

软件测试面试-银行篇

今天参加了一场比较正式的面试&#xff0c;汇丰银行的视频面试。在这里把面试的流程记录一下&#xff0c;结果还不确定&#xff0c;但是面试也是自我学习和成长的过程&#xff0c;所以记录下来大家也可以互相探讨一下。 请你做一下自我介绍&#xff1f;&#xff08;汇丰要求英…

Stable Diffusion 对图像进行风格化

风格化是基于现有图像转换成另一种风格的操作方法&#xff0c;通常应用于img2img中&#xff0c;将文字提示中特定的新风格应用于原图像上进行修改。在这个过程中并非使用随机的潜在状态&#xff0c;而是采用原始图像去编码初始潜在状态。在此基础上通过加入少量的随机性&#x…

自己动手写C语言float浮点数转换字符串的函数

最近在项目中用到了holtek厂商的HT45F24A和BA45F5650两款单片机。 用的开发工具是HT-IDE3000&#xff0c;烧录软件是HOPE3000。 这两款单片机都是8位的单片机&#xff0c;支持寄存器位操作。 HT45F24A单片机不带UART串口&#xff0c;要想实现串口功能&#xff0c;只能自己用定时…