spring
文章平均质量分 68
xixingzhe2
代码开发爱好者
展开
-
spring boot导入多个配置文件
Spring Boot从2.4.x版本开始支持了导入文件的方式来加载配置参数,与spring.config.additional-location不同的是不用提前设置而且支持导入的文件类型相对来说要丰富很多。我们只需要在application.properties/application.yml配置文件中通过spring.config.import属性配置需要导入的文件列表即可。通过spring.config.import属性支持导入多种途径的配置文件,下面简单介绍几种。原创 2024-09-20 18:18:26 · 504 阅读 · 0 评论 -
Sentinel限流、熔断
总结来说,信号量隔离侧重于快速地限制并发请求数量,适用于轻量级服务或者对响应速度要求较高的场景;而线程池隔离则适合于资源密集型操作,它可以更有效地控制资源内部的状态,并防止由于过多并发而导致的服务雪崩效应。,但同时也支持配置为线程池隔离以满足特定需求。Sentinel 中的信号量隔离和线程池隔离机制都是针对。它们主要用于控制单机上的并发请求量或资源消耗,确保在该服务节点层面不会因并发过高而导致系统过载。原创 2024-01-14 15:53:15 · 1130 阅读 · 0 评论 -
spring状态机
*** 状态**/// 未连接// 已连接CONNECTED,// 注册中// 已注册REGISTERED;/*** 事件**/// 连接CONNECT,// 注册REGISTER,// 注册成功// 注册失败// 注销。原创 2023-12-26 17:47:27 · 1109 阅读 · 0 评论 -
HandlerMethodArgumentResolver方法参数解析器支持多用户
HandlerMethodArgumentResolver方法参数解析器支持多用户原创 2023-11-04 11:29:05 · 465 阅读 · 0 评论 -
spring boot项目优雅停机
在真实的工作中的时候4.3比较常用,程序中一般使用内存队列或线程池的时候最好要优雅的关机,将内存队列没有处理的保存起来或线程池中没处理完的程序处理完。但是因为停机的时候比较快,所以停服务的时候最好不要处理大量的数据操作,这样会影响程序停止。以上这几种方法实现的话比较简单,但是真实工作中还需要考虑的点还很多,比如需要保护暴露的点不被别人利用,一般要加一些防火墙,或者只在内网使用,保证程序安全。原创 2023-10-25 15:52:57 · 1967 阅读 · 0 评论 -
HikariCP连接池配置
数据库连接池原创 2023-06-14 13:23:15 · 4111 阅读 · 0 评论 -
负载均衡使用
负载均衡使用原创 2023-03-14 15:49:32 · 591 阅读 · 0 评论 -
Prometheus+Grafana监控
Prometheus+Grafana监控程序原创 2023-02-21 15:23:38 · 3071 阅读 · 0 评论 -
工具类中使用spring的bean
工具类中使用spring的bean原创 2022-12-20 17:43:25 · 530 阅读 · 0 评论 -
Flowable-ui-modeler和MybatisPlus冲突问题
Flowable-ui-modeler和MybatisPlus冲突原创 2022-11-29 11:40:54 · 1087 阅读 · 0 评论 -
logback修改第三方包日志打印
当我们引入第三方依赖时,第三方依赖会打印自己的日志,有的日志对我们来说是无用日志,不需要打印出来,这时我们就需要修改屏蔽或修改第三方日志的打印级别。原创 2022-10-21 16:51:13 · 2225 阅读 · 1 评论 -
事务提交后执行
事务提交后执行原创 2022-10-18 17:46:20 · 1189 阅读 · 0 评论 -
maven 覆盖pom文件某jar包版本
maven 覆盖pom文件某jar包版本原创 2022-10-12 18:17:10 · 848 阅读 · 0 评论 -
多租户、组织架构
多租户-多层级原创 2022-10-10 13:59:31 · 3475 阅读 · 0 评论 -
SpringBoot线程上下文传递数据
自定义上下文原创 2022-10-01 23:04:31 · 1461 阅读 · 1 评论 -
logback自定义appender
logback自定义appender的使用场景原创 2022-09-17 22:27:48 · 3197 阅读 · 0 评论 -
druid慢sql监控
根据logback.xml配置,会生产慢sql日志slow_sql.log。原创 2022-08-30 23:04:50 · 4725 阅读 · 1 评论 -
密码加密传输
RSA加密原创 2022-08-13 23:51:24 · 7589 阅读 · 0 评论 -
nacos控制台权限管理
nacos默认是没开启权限控制的,开启权限控制则需要修改配置文件conf/application.properties。原创 2022-08-07 22:55:54 · 5668 阅读 · 0 评论 -
日志定期压缩、清除
为了平衡上面两个条件,我们可以压缩文件和保留一定时间(如7天)的历史文件。原创 2022-08-06 18:28:25 · 5960 阅读 · 0 评论 -
SPI机制
spi全称为 (Service Provider Interface),是JDK内置的一种服务提供发现机制。SPI是一种动态替换发现的机制,一种解耦非常优秀的思想。它是jdk提供给“服务提供厂商”或者“插件开发者”使用的接口,是一种扩展机制。 在面向对象的设计中,模块之间我们一般会采取面向接口编程的方式,而在实际编程过程过程中,API的实现是封装在jar中,当我们想要换一种实现方法时,还要生成新的jar替换以前的实现类。而通过jdk的SPI机制就可以实现,首先不需要修改原来作为接口的jar的情原创 2022-06-30 13:53:55 · 824 阅读 · 1 评论 -
重写第三方jar中SPRING BEAN的方式
可以直接覆盖掉jar包中的类包路径为 com.ybw.config, 直接工程里面新建一样路径一样类名MyConfig即可。1.2 接口访问访问地址:http://localhost:8080/getProjectName访问结果如下,替换成功。使用 @ComponentScan 里面的 exclud......原创 2022-06-17 15:23:14 · 4429 阅读 · 2 评论 -
logback mdc日志跟踪
1、简介MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 、logback及log4j2 提供的一种方便在多线程条件下记录日志的功能。MDC 可以看成是一个与当前线程绑定的哈希表,可以往其中添加键值对。MDC 中包含的内容可以被同一线程中执行的代码所访问。当前线程的子线程会继承其父线程中的 MDC 的内容。当需要记录日志时,只需要从 MDC 中获取所需的信息即可。MDC 的内容则由程序在适当的时候保存进去。对于一个 Web 应...原创 2022-05-10 15:44:32 · 1380 阅读 · 0 评论 -
flyway使用
一、Flyway是什么官网解释地非常全面,可先大致阅读一下。简单地说,flyway是一个能对数据库变更做版本控制的工具。二、为什么要用Flyway在多人开发的项目中,我们都习惯了使用SVN或者Git来对代码做版本控制,主要的目的就是为了解决多人开发代码冲突和版本回退的问题。其实,数据库的变更也需要版本控制,在日常开发中,我们经常会遇到下面的问题:自己写的SQL忘了在所有环境执行; 别人写的SQL我们不能确定是否都在所有环境执行过了; 有人修改了已经执行过的SQL,期望再次执行;原创 2022-04-02 17:40:48 · 5368 阅读 · 3 评论 -
skywalking项目打印traceId
1、背景在我们系统或者应用中集成了skywalking后,我就可以进行链路的跟踪了。我们在使用ELK或者其他的一些日志分析工具查找日志。如果要跟踪系统调用链,我们需要在日志中打印出traceId。2、引入依赖<!--skywalking traceId start--><dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolk原创 2021-03-10 17:17:42 · 5623 阅读 · 1 评论 -
skywalking和jpa冲突
1、报错org.springframework.security.authentication.InternalAuthenticationServiceException: No MethodInvocation found: Check that an AOP invocation is in progress, and that the CrudMethodMetadataPopulatingMethodInterceptor is upfront in the interceptor chai原创 2021-03-10 13:39:32 · 1252 阅读 · 0 评论 -
Dubbo Spring Cloud
1、概述官方文档:https://github.com/apache/dubbo-spring-boot-project/blob/master/README_CN.mddubbo官方网站:http://dubbo.apache.org/Dubbo Spring Cloud 构建在原生的 Spring Cloud 之上,其服务治理方面的能力可认为是 Spring Cloud Plus, 不仅完全覆盖 Spring Cloud 原生特性,而且提供更为稳定和成熟的实现,特性比对如下表所示:功能组原创 2021-03-09 11:50:24 · 365 阅读 · 0 评论 -
SpringBoot 集成 apollo
1、简介Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。1.1 apollo vs spring cloud config vs nacos2、Apollo安装官方地址:https://github.com/nobodyiam/apollo-build-scripts2.1 下载>git clone https://githu原创 2021-03-04 19:25:13 · 254 阅读 · 1 评论 -
spring接口list校验
1、model定义import lombok.Data;import javax.validation.constraints.NotNull;/** * @ClassName User * @Description: * @Author ybwei * @Date 2020/8/18 * @Version V1.0 **/@Datapublic class User { @NotNull(message = "id不为空") private Long id;原创 2020-08-18 14:17:46 · 506 阅读 · 0 评论 -
事务与异步脏数据问题
1、事务未提交,异步获取不到数据package com.spring.pro.service.impl;import java.util.concurrent.CompletableFuture;import java.util.concurrent.TimeUnit;import javax.annotation.Resource;import org.springframe...原创 2020-01-10 17:14:12 · 652 阅读 · 0 评论 -
引入“spring-boot-configuration-processor”yaml不提示
1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional>&l...原创 2019-12-11 19:29:31 · 2407 阅读 · 0 评论 -
spring boot2 actuator监控
1、actuator用来对Spring Boot 应用进行监控、指标采集、管理,提供一些端点(endpoint)来实现上述功能。2、引用<!-- 监控 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot...原创 2019-10-23 14:48:43 · 141 阅读 · 0 评论 -
eureka集群
开发十年,就只剩下这套Java开发体系了 >>> 1、eureka集群的目的 eureka作为注册中心,单点存在风险,如果挂了,就会找不到服务了。2、euerka server 我们以三个节点为例,application.yml配置如下---spring: profiles: peer1eureka: instance: ...原创 2018-03-05 19:14:00 · 185 阅读 · 0 评论 -
Springboot定时任务
下文为@Scheduled的使用方法。1、简介@Scheduled支持三种部署方式fixedRate(fixedRateString):上一次执行开始后,n秒后再次执。 fixedDelay(fixedDelayString):上一次执行完毕后,n毫秒后再次执行。 cron表达式。2、java实现import org.springframework.boot.SpringA...原创 2018-11-08 14:57:45 · 111 阅读 · 0 评论 -
redis分布式锁
1、前提条件互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 具有容错性。只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。 解铃还须系铃人。加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给解了。2、java实现(lettuce)2.1 pom.xml<dep...原创 2018-11-18 18:06:37 · 196 阅读 · 0 评论 -
断点续传文件
import java.io.BufferedOutputStream;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.Htt...原创 2018-09-10 18:06:00 · 244 阅读 · 0 评论 -
spring cloud config 中的application.yml 和 bootstrap.yml
bootstrap.yml 在 application.yml 之前加载.bootstrap.yml可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。一般使用bootstrap.yml是由于有远程配置需要load到本地,一般它会包含两个属性:location of the configuration server (spring.cloud.config.uri) name...原创 2018-11-14 17:32:38 · 727 阅读 · 0 评论 -
spring cloud config
1、什么是spring cloud config spring-cloud-config 简单来讲就是spring-cloud实现的分布式配置中心.spring-cloud-config分为服务与客户两端。 spring-cloud-config 使用git或者svn 甚至是本地的文件系统作为配置文件的仓库。 spring-cloud-config 用a...原创 2018-11-14 17:33:26 · 133 阅读 · 0 评论 -
spring 通配符 匹配
做了一个权限管理系统,需要通过通配符来过滤请求url,在网上找了半天没有找到,后来想到spring本身就带有这个功能,通过查询最终找到了方法。使用该方法,需要引入spring-core包 @Test public void regexSpringTest() { AntPathMatcher matcher = new AntPathMatcher(); String ...原创 2018-11-14 17:34:09 · 978 阅读 · 0 评论 -
eureka配置心跳和剔除不可用服务
开发十年,就只剩下这套Java开发体系了 >>> 1、注意 改配置建议在开发和测试环境下使用,尽量不要在生产环境使用。2、背景 由于Eureka拥有自我保护机制,当其注册表里服务因为网络或其他原因出现故障而关停时,Eureka不会剔除服务注册,而是等待其修复。这是AP的一种实现。 3、解决方案 eureka server配置:e...原创 2018-03-07 15:47:00 · 2369 阅读 · 0 评论