SpringBoot实现简单的日志链路追踪 一. 背景 随着分布式应用的普及,现在的一些应用系统不再像以前,所有的文件(前后端程序)都打包在一个包中,现在的很多应用都是模块化开发,开发的团队也是不一样,服务与服务之间的调用也比较多,在这种情况下,系统的日志就显得尤其的重要,然而,在多数情况下,当我们的系统出现了异常,需要查看日志时,就会很抓狂。为了避免这种情况,我们需要把同一次的业务调用链上的日志串联起来。 本次通过一个简单的SpringB 开发运维 2023-09-28 三掌柜
SpringBoot Tomcat 基础配置 ServerProperties 配置类 SpringBoot Tomcat 配置封装在 ServerProperties 类中,yml 配置文件中的前缀为 server。 @ConfigurationProperties(prefix = "server", ignoreUnknownFields = true) public class ServerProperties { /** * Ser 开发运维 2023-09-28 Escape
一文讲透SpringBoot应用在内嵌容器与外置容器下的启动原理 思考,输出,沉淀。用通俗的语言陈述技术,让自己和他人都有所收获。 作者:毅航😜 有过SpringBoot相关开发经历的都知道,SpringBoot支持内嵌容器,其支持内嵌Tomcat、Jetty等容器。此外,SpringBoot应用也可在外部的服务器进行部署。换言之,在部署SpringBoot应用时可以进行灵活的选择,既可以选择使用SpringBoot内嵌的Tomcat,也可使用外置Tomcat服 开发运维 2023-09-28 Escape
Spring Boot基础篇 SpringBoot 文档更新日志 版本 更新日期 操作 描述 v1.0 2021/11/14 A 基础篇 v1.0.1 2021/11/30 U 更新基础篇错别字若干,不涉及内容变更 v2.0 2021/12/01 A 运维实用篇 V3.0 2022/2/21 A 开发实用篇 V4.0 2022/3/29 A 原理篇 前言 很荣幸有机会能以这样的形式和互联网上的各位小伙伴一起学习交流技术课程, 系统运维 2023-09-26 宇宙之一粟
linux安装jdk1.8 +nginx +springboot 实现通过nginx80转发8888端口访问springboot程序 linux安装jdk1.8 +nginx +springboot 实现通过nginx80转发8888端口访问springboot程序 1.写一个简单helloWorld程序 打包成jar包,用于后续在云耀云服务器L实例上运行 2.安装nginx Nginx是一款轻量级的[Web云耀云服务器L实例]、反向代理云耀云服务器L实例,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 安 系统运维 2023-09-26 大猫
Spring Boot 运维实用篇 SpringBoot运维实用篇 基础篇发布以后,看到了很多小伙伴在网上的留言,也帮助超过100位小伙伴解决了一些遇到的问题,并且已经发现了部分问题具有典型性,预计将有些问题在后面篇章的合适位置添加到本套课程中,作为解决方案提供给大家。 从此刻开始,咱们就要进入到实用篇的学习了。实用篇是在基础篇的根基之上,补全SpringBoot的知识图谱。比如在基础篇中只给大家讲了yaml的语法格式,但是具体写y 开发运维 2023-09-26 大猫
SpringBoot 开发实用篇2 SpringBoot整合jetcache缓存 目前我们使用的缓存都是要么A要么B,能不能AB一起用呢?这一节就解决这个问题。springboot针对缓存的整合仅仅停留在用缓存上面,如果缓存自身不支持同时支持AB一起用,springboot也没办法,所以要想解决AB缓存一起用的问题,就必须找一款缓存能够支持AB两种缓存一起用,有这种缓存吗?还真有,阿里出品,jetcache。 jetcache严格意 开发运维 2023-09-26 贤蛋大眼萌
SpringBoot整合Redis详细教程 系列文章目录 (一)Redis(windows+Linux)安装及入门教程 - 掘金 (juejin.cn) (二)Redis中的五大数据类型 - 掘金 (juejin.cn) (三)Redis中的三种特殊类型 - 掘金 (juejin.cn) 前言 本文先介绍了 Redis 官方首选的 Java 客户端开发包Jedis(Java操作Redis的原生API),然后进行了SpringBoot对Red 开发运维 2023-09-25 Escape
SpringBoot WebSocket STOMP SpringBoot WebSocket STOMP 关键词:Springboot, WebSocket, STOMP, broadcast, sendToUser, MessageMapping, SubscribeMapping, convertAndSendToUser STOMP是一种发布订阅的模式,被订阅者发布消息以广播形式发送。如果需要一对一发送或者说指定某个客户端发送,springb 开发运维 2023-09-25 共饮一杯
SpringBoot 优雅停机 SpringBoot 优雅停机的方式 K8S 停止 Pod 时,默认会先发送 SIGTERM 信号,尝试让应用进程优雅停机,如果应用进程无法在 K8S 规定的优雅停止超时时间内退出,即 terminationGracePeriodSeconds 的值(默认为 30 秒),则 K8S 会送 SIGKILL 强制杀死应用进程。 手动停止,发送请求到 Spring Boot Actuator 的停机端点 开发运维 2023-09-25 竹子爱熊猫
深入理解SpringMvc映射原理,SpringBoot的容器概念以及注解分析 SpringMvc映射原理以及SpringBoot的启动原理 我们使用SpringBoot最直观的感受就是springboot的自动装配,感觉什么都不用自己去做,只是去使用一些注解就可以完成各个层次之间的联系以及对象的注入,但有时候我们却不了解或者容易忘记为什么加了这些注解就可以达到这种效果,或者说,是否有一些疑惑,我们为什么要这么做,为什么这么做他就可以达到这种效果? Sp 开发运维 2023-09-25 向阳逐梦
你真的读懂SpringBoot的启动流程了吗? SpringBoot的启动流程可以说是面试中常考的一个知识点,网上也有很多文章来讨论SpringBoot的启动流程。进一步,其实对于SpringBoot的启动的分析,主要集中在SpringApplication中的run之中。或许你已经看了很多相关的分析文章,但看了这么多分析的文章你真的读懂run方法了吗?换言之,如果让你来写一个方法来模拟run方法背后的逻辑,你有思路吗? 如果有,不妨看一看你与 开发运维 2023-09-23 向阳逐梦
[SpringBoot源码分析二]:@Condition 1. 背景介绍 在整个SpringBoot项目中关于Bean的注册,我们可能需要指示Bean只有在所有条件满足的情况下才有资格注册到容器中,比如说像下面这个例子,如果说我们已经注册过ViewResolver自然不需要SpringMVC帮我们注册了 上面的ConditionalOnBean正是Conditional的一种延伸 本文将围绕着SpringBoot中如何利用Conditional及其子注解 开发运维 2023-09-16 共饮一杯
Springboot中的不使用第三方插件对敏感信息加密处理,这种方式你知道吗? 环境:Springboot2.4.12 + Spring Cloud Context 3.0.5 概述 SpringBoot配置文件中的内容通常情况下是明文显示,安全性就比较低一些。在application.properties或application.yml,比如数据库配置信息的密码,Redis配置的密码等都是通过明文配置的,为了提供系统整体的安全性,我们需要对这些敏感的信息进行加密处理,这样即 开发运维 2023-09-11 泡泡
玩转SpringBoot—SpringBoot简介和基本用法 学习目标 微服务架构的演进——推导单体架构到微服务架构一路走来的根本原因。 深层次理解spring的问题。 理解spring一路走来所做的努力。 springboot对spring的优化。 springboot使用。 第1章:微服务架构的演进 1、单体架构 任何一个网站在发布初期几乎都不可能立马就拥有庞大的用户流量和海量数据,都是在不停地试错过程中一步一步演变其自身架构,满足其自身业务。比如现在能 开发运维 2023-09-08 大猫
探索SpringBoot和Seata中的SPI机制实现 本文章主要想了解一下SpringBoot,Seata组件中都是怎么使用SPI功能。如何调用SPI的接口实现类,能够提供哪些便利。 SPI (Service Provider Interface) -- 接口服务发现机制 Spring SPI SpringBoot中最方便的功能莫过于自动配置功能,只需要集成一个Starter的jar包。基本不需要配置就可以实现数据库调用,远程调用,服务配置,服务发现 开发运维 2023-09-07 大白菜程序猿
SpringBoot 中自定义 starter 的开发与使用 开发公司业务时,如何去封装公共通用的代码,常见的选择是工具类之类,但是如果我们又需要在其他项目中使用呢?工具类复制一份过去?还有就是定义成单独的模块,也很好,但其实有个更好的选择是使用自定义starter,自定义的starter在使用起来会非常方便,这篇文章主要讲讲如何自定义starter,大家可以基于此去封装公司中的一些公共代码。 介绍 starter starter是SpringBoot中非常 开发运维 2023-09-04 醒在深海的猫
spring boot项目生成容器并运行 一个安静的周末,shigen又睡懒觉了,上次说的拖延症的惩罚来了:早晚各100个健腹轮练习,早上的已经完成了。今天的文章来的有点晚,但是依旧保持质量。 springboot项目生成容器并运行 背景 将springboot项目打包成jar包,上传到服务器并打包成镜像,运行成docker容器对外提供服务。 这篇文档写于2023年5月25日,现在shigen分享出来,也希望能给开发者提供技术参考。 问题 开发运维 2023-09-02 共饮一杯
SpringBoot整合 redis key (过期、新增、修改)的三种方式,看这篇就够了 文章主要描述了Springboot整合key变化的三种方式,同时列出了一些整合坑点与概念 原理 SpringBoot整合Redis key变化的原理就是万变不离其宗,简单点就是: spring-boot-starter-data-redis + notify-keyspace-events 关于 notify-keyspace-events notify-keyspace-events AKEx 开发运维 2023-09-02 法医
如何通过内网穿透实现外部网络对Spring Boot服务端接口的HTTP监听和调试? 前言 前后端分离项目中,在调用接口调试时候,我们可以通过cpolar内网穿透将本地服务端接口模拟公共网络环境远程调用调试,本次教程我们以Java服务端接口为例。 1. 本地环境搭建 1.1 环境参数 JDK1.8 IDEA SpringBoot Maven Tomcat9.0 Postman 1.2 搭建springboot服务项目 搭建一个springboot服务的项目,编写一个接口,为了更好直 系统运维 2023-09-02 大猫