SpringBoot相关技术整合
文章平均质量分 75
SpringBoot相关技术整合
掉发的小王
与其临渊羡⻥,不如退⽽结⽹。小王博客基地
展开
-
Nacos前世今生、安装配置、服务注册源码、整合Springboot实战
随着微服务架构的兴起,服务的规模不断增长,对于服务的发现、配置和管理变得越来越复杂。在这个背景下,Nacos应运而生,以其强大的功能和灵活性成为云原生领域的瑞士军刀之一。Nacos是一个由阿里巴巴开源的项目,它提供了服务注册与发现、动态配置管理、服务和配置的实时监听等功能,使得开发者可以更加轻松地构建和管理微服务架构。在Euerka不维护的时候,Nacos站出来挑扛起了大旗。不得不说是真的好用,完美适配SpringCloud,使得微服务更加完善!当然免费版可能会有些问题,听说企业收费的是难以想象的好用。原创 2023-12-05 08:55:14 · 1884 阅读 · 13 评论 -
分布式进阶-链路追踪SpringCloudSleuth、Zipkin【实战篇】
我们在使用微服务的时候,往往设计到各个微服务之间的调用,肯定会存在深度的调用链路,如果出现BUG或者异常,就会让问题定位和处理效率非常低。有了Sleuth,就可以帮助我们记录、跟踪应用程序中的请求和操作。通常与Zipkin配合使用,从而提供更全面的可视化应用程序跟踪和分析功能。就像ElasticSearch和Kibana一样!复杂的链路调用如下图所示:在继续往下看的同时,需要你具备Springboot整合Nacos构建一个聚合项目的能力。当然如果不想自己来,小编也给大家准备好了。原创 2023-11-22 14:41:41 · 639 阅读 · 16 评论 -
MongoDB从入门到精通、Springboot整合MongoDB
MongoDB是一款比较常见的NoSQL数据库,它以其灵活性、可伸缩性和高性能而闻名。MongoDB的主要特点是它采用了文档型数据存储模型,允许开发人员以非常自然的方式组织和存储数据。当一些表在MySQL查询效率不高时,可以转为MongoDB,解决数据多查询慢的情况!下面我们在详细的了解一下吧!MongoDB是一个开源的文档型数据库管理系统,它属于非关系型数据库的一种,主要存储半结构化或无结构化数据,并提供灵活的数据建模和查询能力。原创 2023-11-07 13:35:07 · 490 阅读 · 12 评论 -
Elasticsearch7.6解决报错Connection reset by peer【刨根问底完美解决】
小编最近在生产上遇到一个问题,解决完后立马总结一下分享给大家,希望可以帮助到大家哈!事情是这样的,奇怪的现象,公司搭建的,本来是用来提高检索效率的,最近出现报错了!版本配置什么都没变,奇怪的很!每隔几个小时就会查询不到,与连接不上,刷新后查询正常拿着条件去kibana是可以查询到的;这是客户端是长链接,服务端过期后自动关闭链接,客户端继续用原来的链接导致错误的!原创 2023-02-06 15:16:45 · 4773 阅读 · 4 评论 -
高效、优雅的对象copy之MapStruct入门到精通,实战踩坑版
大家在开发中,最让人头疼的就是:对象之间的拷贝,前端的VO和数据库的Entity不一致!性能最好的就是手动set,主要是枯燥且无技术含量,不仅耗费大量时间而且很容易出错;所以我们要成为优秀的程序员,要多借助轮子,开发效率事半功倍,开发技能也是增长不少!如果系统性能没有要求,怎么实现都是好的,但是我们要有追求哈,追求高质量!每个东西都有存在的价值,不要捧一踩一哈!MapStruct是基于JSR 269的Java注释处理器,用于生成类型安全的 Bean 映射类。原创 2023-01-29 10:41:10 · 1728 阅读 · 11 评论 -
SpringBoot+Mybatis-plus整合easyExcel批量导入Excel到数据库+导出Excel
今天小编带大家一起整合一下,之所以用这个,是因为性能比较好,不会报!市面上常见的导入导出Excel分为三种:和都是对的封装,使用起来更加方便!如果想使用和导出的可以看一下小编的之前写的文章:使用POI+hutool导入Excel使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet导出的话看一下这篇,下面主要以导入来展开介绍!EasyExcel导出Excel表格到浏览器,并通过Postman测试导出Excel小编这里是版本的,版本不同可能导致部分有出入,如果大家版本是,可以去官方文档看原创 2022-12-05 10:39:05 · 3569 阅读 · 33 评论 -
Springboot整合策略模式概念->使用场景->优缺点->企业级实战
策略模式可能是在工作中使用最多的,也是在面试中最常提到的,代码重构和优化的必备!小编之前也是一直说,其实没有真正的实战;最近有了机会实战了一下,来分享一下使用心得和在企业级的使用!策略模式,英文全称是。在 GoF 的《设计模式》一书中,它是这样定义的:定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端(这里的客户端代指使用算法的代码)。在策略模式中定义了一系列算法,将每一个算法封装起来,并让它们可以相互替换,互不影响。策略模式得益于按照。原创 2022-12-01 11:02:35 · 1696 阅读 · 8 评论 -
SpringBoot自定义注解+AOP+redis实现防接口幂等性重复提交,从概念到实战
怎么防止接口重复提交?小编也是背过的,好几种方式,但是一直没有实战过,做多了管理系统,发现这个事情真的没有过多的重视。最近在测试过程中,发现了多次提交会保存两条数据,进而导致程序出现问题!问题已经出现我们就解决一下吧!!本次解决是对于高并发不高的情况,适用于一般的管理系统,给出的解决方案!!高并发的还是建议加分布式锁!!下面我们来聊聊幂等性是什么?接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用;原创 2022-11-17 16:07:18 · 3034 阅读 · 17 评论 -
SpringBoot自定义注解+异步+观察者模式实现业务日志保存
我们在企业级的开发中,必不可少的是对日志的记录,实现有很多种方式,常见的就是基于AOP+注解进行保存,但是考虑到程序的流畅和效率,我们可以使用异步进行保存,小编最近在spring和springboot源码中看到有很多的监听处理贯穿前后:这就是著名的观察者模式!!铛铛铛,终于完成了!这个实战在企业级必不可少的,每个项目搭建人不同,但是结果都是一样的,保存日志到数据,这样可以进行按钮的点击进行统计,分析那个功能是否经常使用,那些东西需要优化。只要是有数据的东西,分析一下总会有收获的!原创 2022-10-27 12:20:29 · 2441 阅读 · 4 评论 -
手写自定义springboot-starter,感受框架的魅力和原理
Springboot的自动配置原理,面试中经常问到,一直看也记不住,不如手写一个starter,加深一下记忆。看了之后发现大部分的starter都是这个原理,实践才会记忆深刻。约定大于配置。一看会就,一动手就废!大家还是要做自己实操,不要眼高手低,这样才会有收获,根本就是约定大于配置+SPI发现机制!还有就是一些经常出现在源码里的注解,大家记住就可以自己写starter了!可以看下一小编的微信公众号,和网站文章首发看,欢迎关注!!点击访问!小编自己的网站,里面也是有很多好的文章哦!原创 2022-10-18 07:00:00 · 435 阅读 · 13 评论 -
Idea运行支付宝网站支付demo踩坑解决及其测试注意事项
在一些商城网上中,必不可少的是支付,支付宝和微信比较常见,最近小编也是在研究这一块,看看支付宝怎么进行支付的,支付宝给我们提供了demo和沙箱测试。减少我们的申请的麻烦,公钥和秘钥也比之前方便了,还是挺简单的,沙箱和正式的区别就是申请一下权限和把网关修改了就可以了!不过支付宝的案例还是jsp,我们就可以把java代码抽离出来就可以了!!话不多说,我们直接开始!!这样就完成了支付宝的简单调试和注意事项,我们可以把配置和jsp的支付相关搬到java代码中,这样就可以使用了!原创 2022-10-11 13:29:43 · 1386 阅读 · 0 评论 -
docker搭建yapi接口文档系统、Idea中上传接口、在线调用
在我们后端开发中,必不可少的是接口的交接,有很多种方式,常见的就是swagger,不过这个侵入性太强了。还有就是接口文档的框架,比如今天小编带大家一起搭建的yapi,在公司还是挺常见的!今天小编就大家从搭建到使用,详细的教学一波哈!!YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。原创 2022-09-26 10:07:14 · 399 阅读 · 0 评论 -
Elasticsearch高级检索之使用单个字母数字进行分词N-gram tokenizer(不区分大小写)【实战篇】
要求按照一个字段的每个字母或者数字进行检索,从例子到整合到springboot的实战项目分享。如果是不设置分词规则的话,英文是按照单词来进行分词的。小编以7.6.0版本做的功能哈,大家可以根据自己的版本去官网看看,应该区别不大C6153PE-冬日恋歌,要可以通过任何一个数字和字母进行检索到,并且不区分大小写。c,6,c6等等!今天官网上有一些例子,觉得和实战还是有点区别,小编这里通过了测试抓紧来记录一下,希望帮助后来人哈!这样我们就完成了一些定制化的需求,完美交差,还得是看官网啊!!一定要去看官网!原创 2022-09-15 09:02:19 · 2802 阅读 · 7 评论 -
docker compose搭建redis7.0.4高可用一主二从三哨兵集群并整合SpringBoot【图文完整版】
从零搭建一主二从三哨兵,无坑版,完整版从搭建到整合SpringBoot。redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群。第一个就是我们本次的要搭建的,就是高可用的哨兵,主redis挂掉,哨兵会进行投票进行故障转移!第二个就是分片集群,哨兵的一个缺点就是只能存在一个master节点,写的效率太低。分片集群就是解决哨兵的问题,可以水平扩展,提高redis的性能!哨兵最低配是三哨兵,以奇数递增。分片集群最低配是三主三从。...原创 2022-08-19 08:42:46 · 1495 阅读 · 46 评论 -
SpringBoot读取.yml配置文件最常见的两种方式-源码及其在nacos的应用
我们在开发中会经常遇到一些可能会变的值,比如数据库的密码,一些关键链接的配置等等。都需要我们写在配置文件中,这样可以把这些配置文件放到nacos上进行管理,修改nacos的配置,咱们发布的包就可以动态的进行更新了,不需要重新修改打包在重新发包!咱们今天就来说一说读取配置文件中的值常见的两种方法,刚刚说的动态更新配置的是第二种配置哈!不会动态更新,所以小编推荐使用第二种方式进行读取配置文件!下面小编 也会带大家一起演示一下不需要重启项目就可以动态的更新,在生产上非常的好用!!!...原创 2022-08-17 09:37:05 · 1646 阅读 · 1 评论 -
基于SpringSecurity的@PreAuthorize实现自定义权限校验方法
在我们一般的web系统中必不可少的就是权限的配置,也有经典的RBAC权限模型,是基于角色的权限控制。这是目前最常被开发者使用也是相对易用、通用权限模型。当然已经实现了权限的校验,但是不够灵活,我们可以自己写一下校验条件,从而更加的灵活!很多开源框架中也是用的比较多,小编看了一下若依是自己写了一个注解实现的,pig是使用来实现自己的校验方式,小编以pig框架的为例。这样就完成了自定义校验,具体的校验可以自己在配置里进行修改,当然也可以自己写一个注解来进行自定义校验,可以参考若依的注解!...原创 2022-08-15 16:07:52 · 5828 阅读 · 0 评论 -
springboot整合xxl-job分布式定时任务【图文完整版】
定时任务有很多种,有一些大的框架也有一些简单的实现。JDK的Timer和TimerTaskQuartz异步任务调度框架分布式定时任务XXL-JOBSpring Task注解@Scheduled小编也就知道这些,欢迎大佬补充哈!!今天小编就以现在比较火的分布式定时任务xxl-job,优点比较轻量级,但是从21年到现在没有比较大的更新!现在最新的好像是2.4.0。XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,...原创 2022-08-04 14:10:23 · 753 阅读 · 0 评论 -
前后端分离使用Jackson或者fastjson解决后端忽略实体类中的某个属性不返回给前端的方法【亲测有用】
一、前言接收到的需求:我们前端只需要id、name、gender,phone不需要给前端。一开始想法直接重新写一个VO,属性里去掉phone,这样一下多了个文件,显然不是我们想要的!接下来教你两种方式实现一下哦!!二、导入maven<!-- 第一种:jackson--><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson原创 2021-12-07 14:39:16 · 2789 阅读 · 2 评论 -
IDEA中上传本地项目到Gitee(码云)仓库中[2021-11-22从创建项目到上传保姆级别教学]
一、前言我们在自己本地开发一个项目时,会出现一个烦恼,有的时候换个电脑,原来电脑上的项目就要复制一下,放到新电脑上。我们有了Gitee就不需要了,只需要把项目保存到Gitee上,换了电脑也可以直接拉去代码接着写,方便又卫生哈!!!二、IDEA设置和仓库初始化1. 在Gitee上创建仓库2. 在IDEA中新建SpringBoot项目3. 把Git添加到IDEA中设置4. 添加Gitee账号三、把项目整合到Gitee1. 创建Git仓库2. 选中要创建的项目3. 此时已原创 2021-11-22 14:06:17 · 989 阅读 · 1 评论 -
SVN的安装及汉化、IDEA中整合SVN使用详情[2021-11-1最新详细教学]
一、SVN客户端和汉化包下载下载地址二、SVN客户端的安装 这里要选择Will 呗 installed on local hard drive,不然不能整合IDEA.三、汉化包安装 这里要打对钩,这样就直接汉化完成四、整合IDEA使用- 选择设置- 修改配置- 返回IDEA主界面- 代码控制中心- 添加SVN地址- 选择检出地址- 选择版本五、总结对于不是多个微服务的项目来说,SVN还是挺好的,简单些.当然也不符合时代发展趋势,大家可以原创 2021-11-01 17:27:18 · 433 阅读 · 0 评论 -
Error:svn:E155037:Previous operation has not finished; run ‘cleanup‘ if it was interrupted(完美解决)
前言我们在Idea中使用SVN是,拉去代码时,显示报错信息Error:svn: E155037: Previous operation has not finished; run ‘cleanup’ if it was interrupted解决方案- 首先打开项目所在目录- Idea中重新拉去代码原创 2021-10-14 14:01:42 · 600 阅读 · 0 评论 -
SpringBoot整合ZXing,生成二维码
文章目录一、前言二、准备工作三、YML配置四、创建配置类五、创建工具类六、创建Controller类七、测试八、总结一、前言ZXing,一个支持在图像中解码和生成条形码(如二维码、PDF 417、EAN、UPC、Aztec、Data Matrix、Codabar)的库。ZXing(“zebra crossing”)是一个开源的、多格式的、用Java实现的一维/二维条码图像处理库,具有到其他语言的端口。猛戳:GitHub地址猛戳:API文档猛戳:介绍文档二、准备工作<!-- 二维码支持包转载 2021-10-09 08:29:35 · 675 阅读 · 0 评论 -
关于导出PDF文件,自己设置导出字体为中文不显示问题
原因:主要是因为导出pdf文件时为中文时,要设置什么字体的中文.解决方法: //创建一个支持中文的字体 BaseFont font = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED); Font chinese = new Font(font,12); Paragraph paragraph = new Paragraph("中文就可以显示出来了!", chinese);...原创 2021-08-24 11:20:34 · 2401 阅读 · 0 评论 -
使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!
一、需求我们会遇到开发任务:经理:小王,你来做一下把数据库里的数据导出到Excel中,一个表是一个sheet,不要一个表一个Excel.小王:好的,经理.(内心一脸懵逼)二、前期准备首先我们采用Apache的POI来实现Excel的导出功能,导入下个博客来做哈!!我们把maven依赖先准备好: <!-- 导出为Excel所需依赖 --> <dependency> <groupId>org.apache.poi</grou原创 2021-08-20 10:14:27 · 1217 阅读 · 1 评论 -
Java中使用DOM4J来生成xml文件和解析xml文件
一、前言现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理一下自己的理解,只适合刚刚学习的,一起理解!今天我们把解析xml文件和生成xml文件在一起来展示.二、准备依赖 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</ar原创 2021-08-24 08:34:31 · 3604 阅读 · 0 评论 -
使用POI+hutool导入Excel并把内容添加到数据库中,直接可以用!!!
一、需求经理:小王,你来把这个Excel的数据导入到数据库中.maven包你自己选个熟悉的就行!小王:好的,经理(内心可视化工具也可以导入,哈哈,但是咱是Java开发人员,要用程序实现)二、依赖准备 <!-- 导入Excel,版本要兼容,不然报错的 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</a原创 2021-08-20 11:12:32 · 2090 阅读 · 2 评论 -
SpringBoot整合定时任务----Scheduled注解实现(一个注解全解决)
一、使用场景定时任务在开发中还是比较常见的,比如:定时发送邮件,定时发送信息,定时更新资源,定时更新数据等等… 二、准备工作在Spring Boot程序中不需要引入其他Maven依赖(因为spring-boot-starter-web传递依赖了spring-context模块)<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s原创 2021-08-23 14:51:29 · 365 阅读 · 0 评论 -
SpringBoot整合ActiveMq实现Queue和Topic两种模式(看不懂你来打我)
文章目录一、前言二、ActiveMq的下载和使用三、依赖准备四、yml文件配置五、配置Bean六、创建生产者(Queue+Topic)七、创建消费者(Topic模式下)八、测试结果(Topic模式下)九、ActiveMq网页版查看是否成功(Topic模式下)十、创建消费者(Queue模式下)十一、测试结果(Queue模式下)十二、ActiveMq网页版查看是否成功(Queue模式下)十三、总结一、前言最近小编在学习消息队列,然后选中了ActiveMq,来进行学习.于是探索了好久,来整理一下自己的学习心原创 2021-08-26 08:35:43 · 898 阅读 · 3 评论