36.SpringBoot实用篇—运维

news2024/9/20 9:03:35

目录

一、实用篇—运维。

(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 应用程序的启动器,负责在运行时加载应用程序代码和依赖的库,并启动 Spring Boot 应用程序。

具体来说JarLauncher 主要有两个作用:

  1. 加载可执行 Jar 包中的类和依赖库:它会使用 Spring Boot 内置的类加载器,递归加载可执行 Jar 包中的所有类,以及依赖的库(如 jar、war 或 zip 文件)。

  2. 启动 Spring Boot 应用程序:它会创建一个 SpringApplication 对象,并调用该对象的 run() 方法来启动 Spring Boot 应用程序。在启动时,SpringApplication 会根据应用程序中的配置,在 Spring 容器中注册各种 Bean,并启动嵌入式的 Web 服务器等等。

JarLauncher 是 Spring Boot 应用程序的启动器,负责加载应用程序代码和依赖的库,并启动 Spring Boot 应用程序。

(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

(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: info
    com.itheima.controller: debug
    ebank: debug
  group:
    ebank: com.itheima.controller,com.itheima.service,com.itheima.dao
    iservice: com.aliyun

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

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

(6.4)日志文件。

logging:
  level:
    root: info
    com.itheima.controller: debug
    ebank: debug
  group:
    ebank: com.itheima.controller,com.itheima.service,com.itheima.dao
    iservice: com.aliyun
  file:
    name: server.log
  logback:
    rollingpolicy:
      max-file-size: 5KB
      file-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.coloradmin.cn/o/639023.html

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

相关文章

syntax error: unexpected end of file

运行工程报错误&#xff1a;liporepo.sh: line 2: command not found liporepo.sh: line 19: syntax error: unexpected end of file Command PhaseScriptExecution failed with a nonzero exit code 由于.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。因为在…

【svopro】代码梳理

SVO2系列之深度滤波DepthFiltersvo_noteSVO&#xff08;SVO: fast semi-direct monocular visual odometry&#xff09;SVO 半直接视觉里程计【DepthFilter】深度滤波器【svopro】代码梳理 svo processFrame代码梳理 1.0 processFrame主流程1.1 sparseImageAlignment1.1.1 核心…

100天精通Golang(基础入门篇)——第6天: 深入解析Go语言中的运算符

&#x1f337; 博主 libin9iOak带您 Go to Golang Language.✨ &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &#x1f30a; 《I…

Kafka详解(二)

Kafka命令行操作 [aahadoop102 ~]$ cd /opt/module/kafka/bin/ [aahadoop102 bin]$ ll 可以看到自带了zookeeper主题命令行操作 查看操作主题命令需要的参数 [aahadoop102 kafka]$ bin/kafka-topics.sh重要的参数如下查看当前服务器中的所有topic [aahadoop102 kafka]$ bin…

Socket 编程:基础概念辨析

文章目录 参考Socket APIBSD UNIX 操作系统BSD UNIX 与 Socket API Socket套接字套接字地址套接字 VS 套接字地址套接字的表示方法 TCP 套接字与 UDP 套接字TCP 套接字监听套接字连接套接字 UDP套接字 TCP 服务器端与 TCP 客户端通信的基本流程服务器端客户端 参考 项目描述刘…

大学物理(上)-期末知识点结合习题复习(4)——质点运动学-动能定理 力做功 保守力与非保守力 势能 机械能守恒定律 完全弹性碰撞

目录 1.力做功 恒力作用下的功 变力的功 2.动能定理 3.保守力与非保守力 4.势能 引力的功与弹力的功 引力势能与弹性势能 5.保守力做功与势能的关系 6.机械能守恒定律 7.完全弹性碰撞 题1 题目描述 题解 题2 题目描述 题解 1.力做功 物体在力作用下移动做功…

软件测试商城项目优惠券超发问题该怎么测试?

在拼夕夕面试中&#xff0c;面试官问了一连串经典的问题&#xff1a;“优惠券库存是怎么扣减的&#xff1f;开发为了解决超发优惠券问题而设计的方案&#xff0c;你了解过吗&#xff1f;你又是如何测试的呢&#xff1f;” 当时听到这些问题还挺懵的&#xff0c;没遇到过超发问…

MIsc(5)

ningen 打开后是一张生物图片&#xff0c;利用010打开后文件头没问题的&#xff0c;但是在文件末尾好像是包含了一个txt文件 拿到kali里利用binwalk分离出一个zip文件&#xff0c;但是需要密码打开 既然提示了资环4位数字的密码&#xff0c;那就可以直接爆破 获得flag 小明的保…

KCD 北京站报名开启 | 云原生英雄帖,邀您京城聚首

各位云原生社区侠客&#xff0c; 仲夏十七&#xff0c;风云际会。 江湖号召&#xff0c;原生论道。 2023 年 6 月 17 日&#xff0c;京城将迎来一场关于云原生的武林盛会——Kubernetes Community Days (KCD) 2023 北京站。 经过一轮公开的议题招募&#xff0c;KCD Beijing…

Jetpack Compose —— Image

在 Jetpack Compose 中&#xff0c;Image 是一个重要的组件&#xff0c;用于显示图像和处理图像相关的操作。 一、Image在Compose中的简单使用 二、如何网络调用Image 一、Image在Compose中的简单使用 首先&#xff0c;让我们了解一下 Image 组件的基本用法。要在 Jetpack C…

复习之linux系统中的软件管理

一、linux系统中软件包 1.软件包的类型 "注意在rhel8中只能使用绿色软件,源码编译软件和rpm软件" 类型支持的条件DEBUBlinux DEBlinux&#xff08;用不了&#xff09;RPM#redhat centOS fadorabz2|gz|xz#1.需要源码安装需要编译 #2.绿色软件,直接可用 #ntfs-3g_nt…

2023下半年杭州/广州/东莞/深圳软考(中/高级)认证,这里报名

软考是全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;项目&#xff0c;是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试&#xff0c;既属于国家职业资格考试&#xff0c;又是职称资格考试。 系统集成…

如何成为一名全职创作者——程序员篇

哈喽大家好&#xff0c;我是咸鱼 今天跟大家分享一篇文章&#xff0c;这篇文章的作者 Gergely Orosz 是一名程序员&#xff0c;他从 Uber 辞职以后&#xff0c;就当起了全职创作者 他通过写文章、卖课程、做视频等谋生&#xff0c;今天这篇文章是他对这种商业模式的思考&…

内网渗透-windows远程用户管理

文章目录 0x01 获取window权限&#xff08;管理员&#xff09;0x02 添加用户&#xff0c;并且到管理员组0x03 开启远程桌面0x04 添加到远程桌面组0x05 进行远程0x06 免责声明 0x01 获取window权限&#xff08;管理员&#xff09; 使用cs上线用户 kali:192.168.253.234 window …

DVWA-10.XSS (DOM)

大约 “跨站点脚本 &#xff08;XSS&#xff09;”攻击是一种注入问题&#xff0c;其中恶意脚本被注入到原本良性和受信任的网站上。 当攻击者使用 Web 应用程序发送恶意代码&#xff08;通常以浏览器端脚本的形式&#xff09;时&#xff0c;就会发生 XSS 攻击&#xff0c; 给…

报错:HttpMessageNotReadableException: JSON parse error: Unexpected end-of-input

问题&#xff1a; 测试接口发送请求时后端报错&#xff1a;org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected end-of-input: expected close marker for Object (start marker at [Source: (PushbackInputStream); line: 1,…

Ubuntu18.04安装jdk1.8

1. 下载jdk 下载地址&#xff1a;jdk1.8下载地址 选择需要下载的jdk 2. 安装jdk # 创建用于存放jdk的文件夹 sudo mkdir /usr/local/java# 解压jdk压缩文件到 /usr/local/java/ sudo tar -zxvf jdk-8u371-linux-x64.tar.gz -C /usr/local/java/# 在配置文件中添加java 环境变…

作为自动化测试工程师,这4个自动化测试阶段你真的知道吗?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 阶段一&#xff1…

Linux—进程信号

进程信号 文章目录 进程信号感性理解信号技术应用角度上理解信号信号的产生按键产生信号系统调用产生信号给自己发送信号给进程发送指定信号 硬件产生信号除0操作野指针访问 软件产生信号alarm函数设置闹钟的软件条件 核心转储关于能否捕获全部信号 信号相关概念信号在内核中的…

码云实战(一)——idea实现将本地的项目推送到码云上

文章目录 前言一、创建本地仓库并关联二、将项目提交本地仓库三、关联远程仓库3.1 创建空白的远程库 四、推送到远程仓库五、验证是否推送成功总结 前言 本系列文章主要记录日常使用中碰到的码云的相关问题 一、创建本地仓库并关联 用IDEA打开项目&#xff0c;在菜单栏点击vc…