
springboot
文章平均质量分 89
唱跑雨淋淋
这个作者很懒,什么都没留下…
展开
-
SpringBoot 集成 RabbitMq 实现死信队列和延时队列
RabbitMq 实现死信队列和延时队列原创 2022-08-09 10:26:19 · 893 阅读 · 1 评论 -
Springboot 集成 RabbitMq 实现消息确认机制
RabbitMq 消息发送确认与消息接收确认原创 2022-08-09 10:25:26 · 2229 阅读 · 0 评论 -
SpringBoot 集成 RabbitMq 实现五种常用消息模型
一个简单的 Demo ,实现五种消息模型,快速上手原创 2022-08-09 10:21:33 · 616 阅读 · 0 评论 -
Java 中使用 protobuf :复杂深入篇,看这篇就够了!
上篇文章我们遗留了两个问题1、protobuf 怎么运用到我们的项目当中?复杂的 List、Map、内嵌对象等等怎么实现?2、protobuf 怎么和 JSON 互相转换?别急,我们现在继续深入,学习就是要不断深入了解,只有更深入,你才能体会到学习的快乐和成就感一、实现 Java 中 复杂的对象嵌套二、protobuf 和 JSON 互相转换...原创 2021-05-13 23:53:49 · 30107 阅读 · 19 评论 -
Java 中使用 protobuf :入门基础篇,看这篇就够了!
一、什么是 protobuf ?1、protobuf 来源?Protocal Buffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化、反序列化。2、官方解释Protocol Buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据原创 2021-05-13 23:53:11 · 47098 阅读 · 8 评论 -
springboot 集成分布式任务调布平台 XXL_JOB
前言:最近学习到一个新的任务调度框架,觉得非常实用,能满足大部分的定时任务调度开发,故此记录xxl-job 源码下载githubgitee官方文档一、 xxl-job 相关1、调度中心调度中心我们可以理解为一个项目任务管理中心,我们通过注册的形式将一个个项目进行注入并且由调度中心进行统一管理。2、执行器假如我们基于微服务开发,每一个服务都有定时任务,每一个服务都需要注册到调度中心,那么这每一个服务都是一个执行器。3、调度任务每个服务中我们都有许多个定时任务,比如定时清理日志,定时登.原创 2021-04-15 18:09:52 · 340 阅读 · 0 评论 -
使用 Apache Digester 的注解方式解析 xml
解析 xml,你可以采用 Java 原生支持的 sax、DOM 或者第三方的 dom4j 等。虽然提供了各式各样的解析方式,但是解析一个复杂的 xml 所编写的 Java 代码是非常麻烦的。而 Apache 的 commons 项目中 Digester 项目解决了这个问题,它可以很轻易地将xml文件解析成Java对象,让你直接去使用,而你仅仅需要去预定义一份解析规则,Digester 的内部采用 SAX 来解析 XML 文件。对于解析规则,可以采用如下三种方式Java的方式xml的方式annot原创 2021-03-05 16:55:35 · 723 阅读 · 2 评论 -
springboot 事件发布与监听(@EventListener)
springboot 事件监听与发布springboot 事件发布与监听大致分为三块事件定义定义自己的事件类,继承 ApplicationEvent事件发布注入事件发布类 ApplicationEventPublisher,使用 publishEvent 方法发布相应的事件事件监听实现 ApplicationListener 接口,实现 onApplicationEvent 方法或者使用注解 @EventListener 进行事件监听1、事件定义定义一个学生实体/**原创 2021-03-05 16:54:09 · 4196 阅读 · 1 评论 -
springboot 实现微信小程序订阅消息的信息推送
微信小程序订阅消息推送:参考官方文档关于小程序订阅消息「订阅消息」需要用户主动订阅消息通知,开发者才可向用户推送,也就是需要做本文第二大点,第1小点的操作,且用户同意之后才可1、一次性订阅消息:用户订阅一次后,开发者可下发一条消息,不限时间。若用户勾选了“总是保持以上选择,不再询问”且点击了允许,那么以后都默认同意订阅这条消息。用户不再做多次选择,开发者也避免了更繁琐的提醒。2、长期性订阅消息:用户订阅一次后,可长期下发多条消息。目前长期性订阅消息向政务、医疗、交通、金融、教育等线下公共.原创 2021-01-26 15:37:21 · 2033 阅读 · 5 评论 -
Linux 部署 springboot jar 包
因为 springboot 有内置 tomcat 容器,所以我们在 linux 部署 springboot 项目的时候可以不安装 tomcat ,直接用 jar 包进行部署。一、springboot 相关配置1、配置文件springboot 项目中,有如下三个配置文件,一个主配置文件,两个不同环境的配置文件application.yml 主配置文件内容spring: profiles: active: prod2、将项目打成 jar 包将 springboot 项目打成 j.原创 2021-01-11 11:33:43 · 751 阅读 · 1 评论 -
springboot 中使用 openfeign 进行接口调用
在项目开发过程中,我们开发的项目或多或少都会与其他交互的系统进行对接集成,或者是微服务项目之间进行调用,双方相互调用接口来获取或者传递数据,以往我们使用的方式可能有 httpClient、okhttp、httpUrlConnection 等等,今天来学习一下如何使用 openfeign 来进行调用。一、feign 和 openfeign ?Feign 是 Springcloud 组件中的一个轻量级 Restful 的 HTTP 服务客户端,Feign 内置了 Ribbon,用来做客户端负载均衡,去调.原创 2020-12-31 17:37:30 · 13980 阅读 · 4 评论 -
记一次升级 springboot 2.1.6 升级到 2.3.4 版本导致的文件上传失败问题
因为项目发布在阿里云服务器上,阿里云安全中心会对项目进行扫描,最近检测到项目上用的 springboot 框架版本存在反射型文件下载漏洞,所以需要升级 springboot 版本这一版本升级可真是差点要人老命我这边原本用的 springboot 版本是 2.1.6,需要升级到 2.3.4升级固然很好,springboot 也增加了部分新功能,优化了一些 bug但是,升级也去掉了一部分之前存在的功能问题现象springboot 升级之后,原本用的好好的文件上传咋就不行了呢,真让人头痛报错信息.原创 2020-11-17 10:35:00 · 2473 阅读 · 0 评论 -
MyBatis-Plus 逻辑删除功能
在项目开发中,我们的表中可能会存在这样一个字段,用来标识这条数据是否有效或者是否删除,就是一个物理删除和逻辑删除的概念。物理删除,就是直接 delete 数据的操作逻辑删除,就是在业务逻辑上,标识某一条数据是删除的,不能再操作以往的操作可能是我们自己手动对相关字段 update 来进行逻辑删除的概念,然后查询时再通过条件过滤相关删除的数据,今天我们使用 MyBatis-Plus 之后,这一切就变得简单了起来!一、相关依赖及配置1、引入 pom 依赖<dependencies> .原创 2020-11-04 10:17:49 · 1957 阅读 · 1 评论 -
MyBatis-Plus 公共字段填充功能
本文基于 SpringBoot在项目开发过程中,我们的数据库表中,经常不可避免的会出现一些公共字段,比如创建人信息、创建时间、修改人信息、修改时间等等相关信息,我们一般都是拿到当前操作人员 set 相关属性进行写入,或者利用 aop 、反射等相关技术进行处理,当我们使用了 MyBatis-Plus 之后,这一切就变得简单起来了一、引入 MyBatis-Plus1、引入相关依赖<dependencies> <dependency> <groupId>o.原创 2020-11-03 16:32:32 · 2378 阅读 · 1 评论 -
SpringBoot 开发过程中遇到的问题
本文主要记录本人使用 springboot 开发过程中碰到的问题,以及解决方案,此文将会不定期更新1、pom 文件中依赖问题问题:pom 文件如下报错,运行程序无影响,打包时报错错误信息:pom.xml: expected START_TAG or END_TAG not TEXT (position: TEXT seen …\n \ua0\ua0\ua0 等 <dependency> <groupId>io.s.原创 2020-07-02 15:45:28 · 2158 阅读 · 0 评论 -
springboot 集成 swagger-bootstrap-ui 生成后台接口文档
前面学习了两种 springboot 里面使用 swagger 的方法,一种原生的,一种大佬封装好的带 vue样式的,最近又学习到一种带 bootstrap 样式的,觉得还不错,这里分享出来基于Swagger开发的Swagger-Bootstrap-UI目录结构上代码一、引入 swagger-bootstrap-ui 的依赖 <!-- springboot web 相关依赖--> <dependency> <groupId>org.s.原创 2020-07-02 12:15:16 · 1009 阅读 · 0 评论 -
springboot 集成 swagger-spring-boot-starter 生成后台接口文档
之前初步学习了,使用 swagger2 生成 接口文档,这次我们使用 swagger-spring-boot-starter 来生成接口文档Swagger 是一款自动生成在线文档 + 接口调试的工具。在 WEB 开发中不可否认的是我们需要给客户端提供 API 接口,这个时候需要借助 postman 等工具 进行调试,用过这些工具的应该知道一个 POST 请求一堆参数是非常枯燥且烦人的事情,而 swagger 能帮助我们自动生成参数…swagger-spring-boot-starter 是一款.原创 2020-06-23 16:23:35 · 2181 阅读 · 0 评论 -
springboot 使用 @RestControllerAdvice 和 @ExceptionHandler 做全局异常处理
@ControllerAdvice,是Spring3.2提供的新注解,它是一个 Controller 增强器,可对 controller 中被 @RequestMapping 注解的方法加一些逻辑处理,这里我们使用它来做全局异常处理。@RestControllerAdvice ,ControllerAdvice 的增强版,包含了@ControllerAdvice 和 @ResponseBody 注解功能;默认处理所有 controller 中被 @RequestMapping注解的方法,斌且返回的数.原创 2020-06-17 11:41:53 · 1302 阅读 · 0 评论 -
springboot 使用过滤器解决跨域问题和无法获取到 header 中值的问题
/** * 解决跨域问题 */public class AccessControlAllowOriginFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpSer.原创 2020-06-05 15:15:15 · 4047 阅读 · 1 评论 -
springboot 使用 AOP 进行全局日志记录
前言:此前项目上需要对用户的操作进行日志记录,以便后续追踪问题,所以就学习了使用 spring AOP 来进行日志记录。1、 spring AOP 是什么?spring 的两大核心就是 IOC 和 AOP,AOP 是 spring 框架面向切面的编程思想,AOP是横切性的技术,将涉及多业务流程的通用功能抽取并单独封装,形成独立的切面,再将这些切面横向切入到业务流程指定的位置中。2、spring AOP 能做什么?AOP 主要是从切面入手,将日志记录、安全控制、事务处理、全局异常处理等全局功能从.原创 2020-06-01 14:59:14 · 1095 阅读 · 0 评论 -
springboot 使用 @Value 注解给静态变量赋值,实现配置全局化
问题:目前碰到配置文件中的属性有好几个文件需要使用,这样的话,这几个类都需要使用 @Value 进行赋值,比较麻烦,所以现在使用 @Value 给一个公共类的静态变量赋值,然后这几个类直接通过类名进行调用。但是,平时使用 @Value 注解时都是给普通变量进行赋值,现在碰到需要给静态变量进行赋值,直接使用 @Value 注解已经无法赋值了,所以需要通过下面的方法来进行解决。比如平时是使用这种方法,给普通变量进行赋值,这样一来每个类需要用到的话就需要每个类都写一遍,需要做重复工作。 @Val.原创 2020-05-19 17:10:31 · 2912 阅读 · 0 评论 -
springboot 中 在静态方法中使用 @Autowired或者@Resource注入的对象
问题:像我们一般使用 spring 注入的对象时,一般都是在 public 下进行调用,现在需要在一个 static 静态方法中调用注入的对象先上实现代码@Componentpublic class InterfaceMethod { @Autowired ITInterfaceNumberService itInterfaceNumberService; private static ITInterfaceNumberService interfaceNumberS.原创 2020-05-19 10:59:17 · 4190 阅读 · 0 评论 -
springboot:概述配置文件及搭建 springboot 多配置文件功能
一、创建一个 springboot 项目1、创建好之后的 sprinboot 项目 目录结构如下2、application.properties 就是项目的配置文件配置文件有两种格式,默认就是 application.properties 格式,另外一种格式就是 application.yml两种格式的区别properties 是以 ”.“ 做分割符yml 是以 “:” 做分隔符,...原创 2020-01-08 15:31:15 · 234 阅读 · 0 评论 -
SpringBoot 集成 Ehcache 缓存
1、引入Ehcache相关核心依赖,其他数据库等依赖不一一列举,根据自己需要进行引入 <!--ehcache 缓存--> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> </depende...原创 2019-11-15 15:49:47 · 202 阅读 · 0 评论 -
springboot 集成 smbFile 操作Windos共享文件夹
前言:最近某项目新增一个需求,需要将原本上传到tomcat 应用服务器上的文件上传到 windos 的共享文件夹,所以综合了网上资料,自己开始了如下尝试。一、引入相关依赖1、使用smbFile 操作共享文件夹需要用到以下jar 包 <!-- https://mvnrepository.com/artifact/org.samba.jcifs/jcifs java连接共享文件夹--&g...原创 2019-09-20 11:35:39 · 4857 阅读 · 6 评论 -
springboot 中使用 swagger2 做接口文档说明
一、swagger 与 swagger2 的区别1、Swagger 是一种规范。2、springfox-swagger 是基于 Spring 生态系统的该规范的实现。4、springfox-swagger-ui 是对 swagger-ui 的封装,使得其可以使用 Spring 的服务二、springboot 中使用 springfox-swagger-ui1、pom 文件中导入依赖 ...原创 2019-12-11 19:25:19 · 392 阅读 · 0 评论