
springboot
文章平均质量分 72
privateobject
is null
展开
-
springCloudGateway+nacos自定义负载均衡-通过IP隔离开发环境
根据轮询策略 改造,这块代码倒还好实现。直接注入spring中,获取不到服务列表,看了spring实现,要完全替换需要注入好几个类,有点麻烦。最后改成运行时替换。先根据请求IP查询IP相同的服务再找和网关IP相同的服务最后轮询其他IP服务import org/*** 自定义路由负载均衡->初始化,负载均衡策略: 先找请求IP查询IP相同的服务、再找和网关IP相同的服务、最后轮询其他IP服务。原创 2025-01-15 10:59:53 · 1270 阅读 · 0 评论 -
spring-boot redis stream消息队列demo-及死信简单处理
Redis stream 是 Redis 5 引入的一种新的数据结构,它是一个高性能、高可靠性的消息队列,主要用于异步消息处理和流式数据处理。rocketmq 在 window关机后重启,broker因为json文件损坏无法启动,使用 redis stream 替换的demo说明原创 2024-01-26 15:17:03 · 2477 阅读 · 1 评论 -
springBoot集成mybatis使用ResultHandler返回map数据类型
> 在 springBoot 的 web 项目中,平时查询数据返回都是:集合 list 、实体类 bean 、数量 int / long 。如果返回 map ,也是`Map`或`Map`,直接返回`Map`或`Map`会报错,通过查询得知,可以使用 ResultHandler 实现。> ResultHandler,对返回的结果进行处理,最终得到自己想要的数据格式原创 2022-10-17 17:41:25 · 3798 阅读 · 0 评论 -
浏览器-基本认证(Basic Authentication)-摘要认证(digest authentication)=spring boot实现demo
> 平时开发的 java web 网站登录,都是通过表单提交登录信息。有时一些中间件登录是浏览器弹窗,没有看到表单实现代码。故通过查询,发现两种 HTTP 简单认证: 基本认证( Basic Authentication )、摘要认证( digest authentication )等,本次通过 java实现 spring boot 基本和摘要认证。原创 2022-10-09 16:37:46 · 3012 阅读 · 0 评论 -
SpringBoot替换容器内注入的Bean
> 在开发的过程中,经常引入别人写的jar包实现某功能。而别的jar包一般都自动注入Spring容器中,假设都是通过@Bean、@Service或@Component注入的,并且没有加入@ConditionalXXX等注解,导致无法替换掉别人的实现,假设这时就想替换掉,那该如何实现呢?> 1. BeanDefinitionRegistry 是一个接口,它定义了关于 BeanDefinition 的注册、移除、查询等一系列的操作。> 2. BeanDefinitionRegistryPostProcess原创 2022-10-08 17:02:24 · 4657 阅读 · 0 评论 -
spring-boot-start-actuator版本2.6.x与swagger冲突问题
spring-boot actuator是spring提供的监控模块。在运行中,需实时和定时监控服务各项状态和可用性。提供很多监控接口,可对应用系统进行配置查看、相关统计等Swagger 是一个规范和完整的框架,生成、描述、调用和可视化 RESTful 风格的 Web 服务。是OpenAPI规范Java实现。`Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointer原创 2022-08-23 11:22:09 · 4189 阅读 · 3 评论 -
Prometheus抓取springBoot指标并grafana可视化
> Prometheus是一套开源的监控&报警&时间序列数据库的组合,基于应用的metrics来进行监控的开源工具 。业务集成Prometheus这个事情分为两步> - 第一步业务方Prometheus tragets收集好指标metrics后,以接口的形式暴露出来。> - 第二步Prometheus Server会对业务方暴露的接口发起HTTP调用pull metrics> 最后Prometheus拿到业务方收集好的指标后,以图形化界面展示出来Prometheus web UI、Grafana。原创 2022-08-12 17:23:50 · 1217 阅读 · 1 评论 -
GitLab CI/CD 自动化部署-springBoot-demo示例
> CI/CD 的核心概念是持续集成、持续交付和持续部署> - CI 持续集成(Continuous Integration)> - CD 持续交付(Continuous Delivery)> - CD 持续部署(Continuous Deployment)> GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。> GitLab 是支持CI/CD的.........原创 2022-08-10 14:48:15 · 805 阅读 · 1 评论 -
jdk 8-future 异步处理-轮询isDone判断完成-springBoot示例
Future接口用于获取异步计算的结果,可通过get()获取结果、cancel()取消、isDone()判断是否完成等操作。get阻塞方式,任务不是最早结束的就能得到结果值,是按照自定义key的 顺序获取结果。isDone轮询方式,任务是在主线程循环判断,结果顺序是和任务耗时有关,代码较多。个人见解,如有问题请指出。...原创 2022-07-29 10:34:30 · 2878 阅读 · 0 评论 -
spring-java使用Validation参数验证-自定义校验器
> 在开发JAVA服务器端代码时,我们会遇到对外部传来的参数合法性进行验证,而hibernate-validator提供了一些常用的参数校验注解,我们可以拿来使用。> spring-boot-web,内嵌了hibernate-validator,并且hibernate-validator依赖tomcat-el包。在使用webflux容器下,会报错。将 hibernate-validator 改为 spring-boot-starter-validation,其中有jakarta.el替代实现el.....原创 2022-07-19 17:30:22 · 3577 阅读 · 1 评论 -
spring-boot-webflux-demo-反应式接口
Spring Framework 5包含一个新 spring-webflux 模块。该模块包含对反应式HTTP和WebSocket客户端的支持以及反应式服务器Web应用程序(包括REST,HTML浏览器和WebSocket样式交互) spring web-flux 支持2种不同的编程模型1. 支持Spring MVC @Controller 这种注解,用法大同小异 2. 函数式 Java 8 lambda 风格的路由函数处理请求...原创 2022-06-28 19:01:10 · 907 阅读 · 0 评论 -
spring boot 的接口form入参-字段映射别名
如何在绑定Spring MVC命令对象时自定义参数名称?spring mvc给参数起别名SpringMVC请求参数别名设置SpringMVC 通过post接收form参数或者json参数Spring boot 参数别名处理springboot中使用servlet注解别名缓存类自定义spring属性编辑器参数解析器注入spring测试代码实体类-使用别名注解测试接口测试记录未使用别名当前级联别名,暂未处理,记录debug截图,有时间调整代码逻辑实现。.....原创 2022-06-15 19:05:09 · 2961 阅读 · 0 评论 -
对称加密DES、AES、SM4-池化-接入spring项目请求解密响应加密
开发项目使用的spring boot web 项目,需求是 部分接口 需要 支持 报文密文和明文传输 动态切换。 请求解密或明文、响应加密或明文,通过度娘搜索和综合考虑(就自己简单分析一下最简单的实现)。当前实现的密码算法:DES、3DES、AES、SM4,只展示 DES和SM4 其他类似使用apache.commons.pool2池化包,加速处理报文使用 接口 统一 加解密操作使用RequestBodyAdviceAdapter和ResponseBodyAdvice<?>处理spri.原创 2022-04-19 14:53:48 · 1193 阅读 · 0 评论 -
mybatis3.5.3中 if 支持的逻辑语法
mybatis3.5.3中 if 支持的逻辑语法 <EOF> "," ... "=" ... "?" ... "||" ... "or" ... "&&" ... "and" ... "|" ... "bor" ... "^" ... "xor" ... "&" ... "band" ... "==" ... "eq" ... "!="原创 2022-01-18 15:41:18 · 452 阅读 · 0 评论 -
spring-swagger获取接口url和接口名称
spring-swagger获取接口url和接口名称在spring boot 项目,很多使用 swagger 做接口文档编写。但是怎么集中获取 项目内接口url。通过查看 swagger接口,提取如下代码import com.alibaba.fastjson.JSON;import io.swagger.models.Swagger;import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org..原创 2021-12-21 16:32:24 · 4069 阅读 · 3 评论 -
jdk8-Base64工具类
项目中涉及到 base64转码,使用jdk原生类处理编码转换工具类代码import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.nio.charset.Charset;import java.nio.charset.StandardCharsets;import java.util.Base64;/** * Base64工具类 * * @author z.y.l * @version v1.0 * .原创 2021-12-16 11:48:00 · 817 阅读 · 0 评论 -
java使用MessageDigest信息摘要算法
java使用MessageDigest信息摘要算法,md5、sha-1、sha-256使用算法-枚举import java.math.BigInteger;import java.nio.charset.StandardCharsets;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * 消息摘要算法 * * @version v1.0 * @date 202.原创 2021-12-14 18:13:39 · 2429 阅读 · 0 评论 -
Maven引入本地jar包,解决打包时找不到本地jar包
springboot,maven引入本地jar,生成pdf使用,找不到类问题参考:Maven引入本地jar包,解决打包时找不到本地jar包日志Caused by: java.lang.NoClassDefFoundError: com/lowagie/text/DocumentException at net.sf.jasperreports.engine.JasperExportManager.exportToPdfStream(JasperExportManager.java:.原创 2021-12-02 10:35:01 · 2170 阅读 · 0 评论 -
java 限定时间内多次调用目标函数-模拟调度任务
java 限定时间内多次调用目标函数-模拟调度任务最近,spring boot项目中用到了调度任务,执行特定任务代码。使用的xxl-job处理调度。但是 每次都执行一次目标功能,每次只处理固定数量数据(调用第三方接口限制了数量),造成数据处理过慢,尤其是在需要大量数据需要处理(十万或百万),但是又不是经常有大量数据。就考虑,怎么在一个调度周期内尽可能多的处理数据量,提升数据消化速度。一开始想到的是,压缩调度周期,由原来的几分钟改为1分钟或更短,但是调度调用日志就很多,且大部分时间都是没有数据处理。原创 2021-11-08 13:53:23 · 589 阅读 · 1 评论 -
springBoot使用redis获取自增序号
获取自增序号springBoot使用redis获取自增序号pom文件参考代码java代码lua脚本测试代码配置springBoot使用redis获取自增序号spring boot 集成 redis clientpom文件 <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot&l原创 2021-10-26 20:49:47 · 1946 阅读 · 2 评论 -
SpringBoot-Kafka-监听-禁止自启动问题
参考链接:SpringBoot - Kafka的集成与使用详解12(消费者7:动态开启、关闭监听)…报错:org.springframework.kafka.listener.ListenerExecutionFailedException: invokeHandler Failed ; nested exception is java.lang.IllegalStaeException: No Acknowledgment available as an argument, the listene.原创 2021-08-25 16:42:27 · 3192 阅读 · 0 评论 -
SpringBoot使用Jetty/tomcat容器访问jsp页面
springBoot项目使用jetty/tomcat容器,创建web模块,访问jsp页面。记录一下。ps:主要是为了能够启动容器,百度了很久……X_X父模块pom文件<properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.r原创 2020-09-01 16:03:21 · 1283 阅读 · 0 评论 -
maven的jar库版本说明-----pom<version>
maven的pom文件中version使用,版本定义、版本约定、版本范围、版本排除、版本锁定、版本常量等1.参考资料maven的版本规范(七) maven 依赖规则&版本锁定Maven 依赖范围Maven详解之------maven版本管理maven依赖指定版本范围或者最新版本dependencyManagement使用简介maven指定版本号范围写法Maven profiles 多环境配置,测试环境与开发环境分开打包2.版本定义pom中外部包引用实例,使用标签<.原创 2020-08-07 11:46:08 · 3937 阅读 · 3 评论 -
Spring Boot 启动 Logo 修改 字符图案 只支持ASCII字符
Spring Boot 启动 Logo 修改 字符图案 只支持ASCII字符参考网址:http://patorjk.com/software/taaggitee的pages:https://winsonzhao.gitee.io/banner原创 2020-07-31 17:01:48 · 422 阅读 · 0 评论