SpringBoot SSMP案例整合二 运维篇

news2025/3/14 22:54:37

目录

一、程序打包

二、项目打包后 若启动失败

三、虚拟机启动SpringBoot项目(Linux)

四、临时属性

五、配置文件4级分类

六、自定义配置文件 

七、多环境开发(yml版本)

八、多环境开发多文件版(yml版)防止密码暴露

九、多环境分组管理

十、多环境开发控制

十一、日志基础操作

十二、快速创建日志对象

十三、日志输出格式控制

十四、文件记录日志


 一、程序打包

 1、在maven中找到生命周期(英文Lifecycle)点击clean

2、点击package进行打包,注意控制层中的tests

 3、在到jar包相应的文件,在上面输入cmd打开控制窗口 输入java jar+相应的项目jar包

4、 注:有时候界面会多了很多数据(原因是还会一直执行测试文件)

点击上面闪电的地方,然后把test注释掉

 

5、小结:

二、项目打包后 若启动失败

 

 

 cls清屏

 三、虚拟机启动SpringBoot项目(Linux)

四、临时属性

1、代码中设计是8081,如果你想要8080 --server.port==8080

如果想多个属性,则中间用空格隔开

属性加载优先级顺序 参考:Core Features

 

 2、开发环境的时候在编辑设置里面

    public static void main(String[] args) {
//        编辑设置中的程序参数就是args
        System.out.println(Arrays.toString(args));
//        SpringApplication.run(SSMApplication.class, args);
//        可以在启动boot程序时断开读取外部临时配置对应的入口,也就是去掉读取外部参数的形参
//        相对安全一点
        SpringApplication.run(SSMApplication.class);
    }

五、配置文件4级分类

和项目同一层的是最低级

 

六、自定义配置文件 

如果自己写配置文件,需要在编辑配置中配置

 

 

 七、多环境开发(yml版本)

只要是---连接符一定要用上 

 


 


#应用环境
spring:
  profiles:
    active: dev
---
#设置环境
#生产环境
spring:
  profiles: pro
server:
  port: 81
---
#开发环境
spring:
  profiles: dev
server:
  port: 82

---
#测试环境
#过时了
#正确格式
#spring:
#  config:
#    activate:
#      on-profile: test
spring:
  profiles: test
server:
  port: 83

 八、多环境开发多文件版(yml版)防止密码暴露

 九、多环境分组管理

后加载覆盖前面的

顺序应该是devDB,devRedis,devMVC,dev

访问的地址的dev里面的

顺序不会覆盖

顺序应该是dev,devDB,devRedis,devMVC

访问的地址的devMVC里面的

 

 

 十、多环境开发控制

 

 如果true在下面不生效的话

点击手工执行,true到pro的时候才能变化,不然还是dev

 十一、日志基础操作

 

 

 

 

 

   十二、快速创建日志对象

1、普通创建

//Rest模式
@RestController
@RequestMapping("/books")
public class BookController {

//    创建记录日志的对象
    private static final Logger log = LoggerFactory.getLogger(BookController.class);

    @GetMapping
    public String getById(){
        System.out.println("springboot is running...2");

        log.debug("debug..");
        log.info("info.");
        log.warn("warn..");
        log.error("error..");
        return "springboot is running...2";
    }
}

2、快速创建

(1)创建BaseClass类,然后再继承就行

package com.itheima.demo.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class BaseClass {


    private Class clazz ;
    public static  Logger log ;

    public BaseClass(){
        clazz = this.getClass();
        log = LoggerFactory.getLogger(clazz);


    }

}

(2)直接注解,导入lombok,然后直接直接@Slf4j

 

 十三、日志输出格式控制

 

 

十四、文件记录日志

 

 后面还有监控,是基于微服务后的

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

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

相关文章

C++ Primer 第四章 表达式

C Primer 第四章 表达式4.1. Fundamentals4.1.1. Lvalues and Rvalues4.1.2. Precedence and Associativity4.2. Arithmetic Operators4.4. Assignment Operators4.5. Increment and Decrement Operators4.9. The sizeof Operator4.10. Comma Operator4.11. Type Conversions4.…

中国风?古典系?AI中文绘图创作尝鲜!⛵

💡 作者:韩信子ShowMeAI 📘 深度学习实战系列:https://www.showmeai.tech/tutorials/42 📘 本文地址:https://www.showmeai.tech/article-detail/413 📢 声明:版权所有,转…

Java——B-树

概念 当我们使用avl树或者红黑树进行数据检索时,虽然树是平衡的,可以保证搜索的效率大概是logN。但是当我们的数据量比较大时,只能在内存中存储数据在硬盘中的指针,这时如果我们要检索数据,最少也需要比较树的高度次。…

【算法】单词接龙,合并区间, 二叉搜索树的最近公共祖先,旋转排序数组中的最小值看看有你会的吗?

算法学习有些时候是枯燥的,每天学习一点点 算法题目一. 单词接龙 II 题目描述java 解答参考二. 合并区间 题目描述java 解答参考三. 二叉搜索树的最近公共祖先 题目要求java实现方案四 寻找旋转排序数组中的最小值一. 单词接龙 II 题目描述 按字典 wordList 完成从…

Azure RTOS 嵌入式无线网络框架简化物联网应用开发

一、Azure RTOS概述 Azure RTOS 是一个实时操作系统 (RTOS),适用于由微控制器 (MCU) 提供支持的物联网 (IoT) 和边缘设备, Azure RTOS 旨在支持高度受限设备(电池供电,并且闪存容量不到 64 KB)。简而言之,…

某HR分享:2n和n+3的基数不一样,n+3比2n拿得多!仲裁期间不能入职新公司,千万别轻易仲裁,得不偿失!...

被裁员时,要2n还是要n3?是否选择仲裁?一位hr说,跟走过仲裁的同学和律师朋友打听了下,原来2n和n3完全不一样。n3的n取的是“非私营单位从业人员平均工资”的三倍,杭州市是3.2万。2n的n取的是“全社会就业人员…

Android设计模式详解之单例模式

前言 定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 使用场景:确保某个类有且仅有一个对象的场景,避免产生多个对象消耗过多的资源。比如要访问IO和数据库资源,应该考虑使用单例模式。 …

JAVA开发(数据库表设计)

对于大型系统数据库设计,需要进行一定的规划和规范,才能方便系统扩展和维护。一般系统的数据库设计要求,有数据库表系统规划,数据库表系统命名规范和设计规范。 一、数据库表系统规划 1、按系统规划或者按微服务规划 2、按业务…

Matlab论文插图绘制模板第71期—三维饼图(Pie3)

在之前的文章中,分享了Matlab饼图的绘制模板: 进一步,再来分享一下三维饼图的绘制模板。 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛&#xff0…

最大子段和(动态规划详细解析)

最大子段和 题目描述 给出一个长度为 nnn 的序列 aaa,选出其中连续且非空的一段使得这段和最大。 输入格式 第一行是一个整数,表示序列的长度 nnn。 第二行有 nnn 个整数,第 iii 个整数表示序列的第 iii 个数字 aia_iai​。 输出格式 …

读取excel文件read_excel()--Pandas

1. 函数功能 读取excel文件,支持读取xls,xlsx,xlsm等类型的EXCEL文件。能够读取一个sheet表或多个sheet表 2. 函数语法 pandas.read_excel(io, sheet_name0, *, header0, namesNone, index_colNone, usecolsNone, squeezeNone, dtypeNone, engineNone, converte…

MCMC算法

一. MCMC算法定义 MCMC是Markov chain Monte Carlo的缩写,即马尔可夫链蒙特卡罗方法。MCMC是一组利用马尔可夫链从随机分布中取样的算法。生成的马氏链即是对于目标分布的近似估计。常见算法: Metropolis-Hastings算法Gibbs取样算法Hamiltonian Monte C…

单片机AT89C51数码管数字时钟和闹钟二

详细代码讨论加我QQ:1271370903 一、课题的方案设计与论证 1.1摘要 近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜…

【我的渲染技术进阶之旅】你可能永远猜不到为什么Filament项目命名为TNT?

文章目录一、疑惑为啥叫TNT?二、寻找真相2.1 百度TNT关键字2.2 GitHub issue2.3 GitHub Discussion三、总结一、疑惑为啥叫TNT? 在我之前的博客【我的渲染技术进阶之旅】如何编译Filament的windows版本程序? 有介绍如何编译Windows版本的Fil…

React 18:Ref(获取DOM对象)

ref介绍 React中所有的操作默认都是在React元素上进行,然后再通过虚拟DOM应用到真实页面上的。这样做的好处我们不在赘述。 虽然如此,在React中依然为我们提供了可以直接访问原生DOM对象的方式。ref就是干这个事的。 ref是reference的简写&#xff0c…

【排序】详细聊聊归并排序(含非递归)

目录 归并排序的基本思想: 递归算法: 递归算法的思路分析: 开辟数组的函数: 递归的函数: 非递归算法: 非递归的思路分析: 边界问题: 时间复杂度和空间复杂度分析&#xff1a…

重建农场2.0:实景三维数据中心一站式解决方案

面向实景三维中国建设,如何扩大产能,不断提升实景三维数据中心的重建算力水平?如何满足快速迭代的需求,不断提升数据中心的应变能力?如何做到“一机多能”,不断外延数据中心的硬件价值?在前不久…

jquery获取父/子iframe页面的URL

最近因为要演示,做个临时ifame框架页面,因此子页面要根据父页面url来指定跳转。下面为ifame页面: 1、获取子页面url: var currentpath = window.location.pathname; console.log(currentpath); 输出为:/JG/TJ_JILU.aspx 2、获取父页面url: let currentTopHref = wind…

IDEA 注释模版

类的主注释 /*** description TODO* author Gaoxueyong* date ${DATE} ${TIME}* version 1.0*/方法的注释 1、创建自己的分组 选择右侧Template Group并输入名称 2、创建自己的模版 选择自己创建的分组然后选择Live Template 然后在Template text框内写入 *** $description…

脑图谱的一致性问题

脑图谱的意义及一致性问题 我们如何定义大脑的解剖结构,并将这些结构与大脑的功能联系起来,可以限制或增强我们对行为和神经系统疾病的理解大量可用的脑图谱给研究健康群体和患病人群的可重复性和描述大脑不同区域参与各种疾病的荟萃分析带来了问题——…