
SpringBoot
文章平均质量分 78
小爽帅到拖网速
不相信自己的人,连努力的价值都没有。
展开
-
springboot 注解+AOP实现接口方法出入参打印
针对加入spring bean容器的实例方法,通过注解+aop实现打印方法调用的出入参,通过注解可以配置是否打印出入参,出入参中的单列集合或双列集合是否打印,选择非全量打印只会打印集合的大小/*** 入参* 是否打印全量参数 true-集合类型全量打印 false-集合类型只打印数量/*** 出参* 是否打印全量参数 true-集合类型全量打印 false-集合类型只打印数量/*** 是否打印入参 默认打印/*** 是否打印出参 默认打印/*** 入参。原创 2024-01-08 09:29:10 · 1092 阅读 · 0 评论 -
SpringBoot docker部署实战
springboot线上部署,通过构建dockerfile文件,编写打包、运行脚本原创 2023-08-05 23:07:55 · 563 阅读 · 0 评论 -
Rabbitmq如何保证消息可靠性的全面解析
Rabbitmq保证消息的可靠性主要针对一下几种途径体现:生产者发送消息到交换机、生产者直接发送消息到队列、交换机投递消息到队列、交换机队列消息持久化问题、消费者消费消息情况,通过ack、nack确认消息是否发送成功或者消费失败,通过本地重试机制、失败策略避免循环消息重入队到失败的过程,并衍生死信交换机、延迟队列、惰性队列的使用场景原创 2023-03-21 12:05:00 · 1031 阅读 · 0 评论 -
Spring通过三级缓存解决循环依赖的全面解析
spring如何通过三级缓存解决循环依赖,以及三级缓存中的细节处理解析原创 2023-03-07 01:32:51 · 812 阅读 · 0 评论 -
SpringAop+注解实现SpringBoot动态数据源切换&&AbstractRoutingDataSource源码解析
通过Spring AOP + 注解来替换当前线程ThreadLocal中的值,并且通过重写AbstractRoutingDataSource类重写determineCurrentLookUpKey()方法,实现动态数据源切换,满足功能实现的代码0侵入性,并且高度解耦,实现可拔插功能效果原创 2023-02-27 12:34:50 · 1455 阅读 · 0 评论 -
@EnableAutoConfiguration中@Import注解对于ImportSelector与DeferredImportSelector接口实现类的细节与区别
@EnableAutoConfiguration中@Import注解对于ImportSelector与DeferredImportSelector接口实现类的细节与区别,包括对AutoConfigurationImportSelector对于@Import注入的自动配置流程分析原创 2022-12-14 17:58:31 · 609 阅读 · 0 评论 -
springboot整合redis实现HyperLogLog统计文章浏览量&&使用过期策略完成数据库同步
springboot整合redis实现HyperLogLog统计文章浏览量&&使用过期策略完成数据库同步本文目录springboot整合redis实现HyperLogLog统计文章浏览量&&使用过期策略完成数据库同步1、为什么选择Redis中的Hyperloglog存储2、什么是基数3、实战中使用HyperLogLog统计文章浏览量1、搭建环境2、核心代码1、发送消息2、消息接受者3、消息处理4、监听key过期并写入数据库创建监听类定时任务1、为什么选择Redis中的Hy原创 2022-05-21 15:38:53 · 2332 阅读 · 0 评论 -
狂神说 MybatisPlus 最全学习笔记 (整合个人学习经验)
Mybatis-Plus前言需要的基础:Mybayis、Spring、SpringMVC为什么要学习Mybatis-Plus可以节省我们大量工作时间,所有的CRUD代码都可以自动化完成!JPA, tk-mapper ,MyBatisPlus什么是JPAJava Persistence API(Java 持久层 API):用于对象持久化的 API作用:使得应用程序以统一的方式访问持久层实体类实现可序列化接口java.io.Serializable接口Java实体类需要实现序列化原创 2021-03-05 23:39:13 · 3220 阅读 · 12 评论 -
SpringBoot整合ES——ElasticSearch&&多种复杂查询api的使用
ElasticSearch阅读本文前请注意,本文仅仅展示springboot整合es中大部分场景api的操作,对其概念并没有过多的阐述,想获得更完整的文档,请查阅官方文档https://www.elastic.co/cn/elasticsearch/在介绍使用之前,先对比一下es与mysql关键字术语描述的比较吧1、配置环境1、导入依赖<dependency> <groupId>org.springframework.boot</groupId>原创 2022-05-03 23:15:14 · 4241 阅读 · 0 评论 -
SpringBoot整合RabbitMQ 5种模式的注解绑定
1、导入依赖<!--AMQP依赖,包含RabbitMQ--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency><!--对象转换--> <dependency> <group原创 2022-05-03 20:03:15 · 4246 阅读 · 0 评论 -
什么是RestFul架构风格&&Springboot四种传参方式
什么是RestFul架构风格&&Springboot四种传参方式1、RestfulRest:资源表现层状态转化所谓的资源就是指网络中一切事物都是资源Resource 每一个资源都有一个唯一URL表现层:将资源具体呈现出来形式,称之为表现层,例如jsp,html状态转化:用来操作展示出来资源只有到服务器端才能确定是哪种状态转化1.1、什么是唯一URL传统url:http://localhost:8080/demo/user/findById?id=1 在?0前面的是地址,在?后原创 2021-12-07 14:45:05 · 5604 阅读 · 0 评论 -
springboot自定义stater最详细原理分析与案例实现
1、starter启动原理starter-pom引入 autoconfigurer 包autoconfigure包中配置使用 META-INF/spring.factories 中 EnableAutoConfiguration 的值,使得项目启动加载指定的自动配置类这里的autoconfigure指的是下面这个我们通过xxx-spring-boot-starter依赖的xxx-spring-boot-starter-autoconfigure编写自动配置类 xxxAutoConfi原创 2021-09-02 23:53:47 · 1875 阅读 · 0 评论 -
自定义starter测试时,自动导入失败,问题解决
1、创建starter项目在通过创建xxx-spring-boot-starter项目,并依赖创建的xxx-spring-boot-starter-autoconfige项目,通过在xxx-spring-boot-starter-autoconfige项目中自定义xxxProperties,xxxAutoConfiguration,以及依赖xxxProperties的业务类,并且在resourecs下创建META-INF/spring.factories ,配置好EnableAutoConfigurati原创 2021-09-02 20:20:08 · 851 阅读 · 0 评论 -
springboot使用fastDFS做文件上传的前后端分离案例
1、 搭建fastDFS文件服务器1)安装fastDFS tracker和storage2)在storage server上安装nginx在storage server上安装nginx的目的是对外通过http访问storage server上的文件。使用nginx的模块FastDFS-nginx-module,它的作用是通过http方式访问storage中的文件,当storage本机没有要找的文件时向源storage主机代理请求文件。3)在安装图片服务代理图片服务代理的作用是负载均衡,根据st原创 2021-07-15 22:26:57 · 503 阅读 · 4 评论 -
springboot通过mybatisPlus调用存储过程实现
使用场景对于一个CRUD的操作需要涉及多条sql语句甚至多个表的关联,如果使用持久层框架去做一个个查询,会使得业务逻辑变得复杂冗余,这里我们可以使用mysql的存储过程对象(不同的数据库直接的存储过程函数有一定的语法差别),使用存储过程不仅可以简化我们后端业务逻辑操作,还可以通过使用mysql内置的函数去简化我们的sql之间的值传递的操作比如 last_insert_id() 获取通过数据库主键自增策略插入数据的id(如果是自定义主键,手动输入,则last_insert_id() 依旧是上一次通过自增原创 2021-07-07 11:16:26 · 3121 阅读 · 0 评论 -
springboot实现多级嵌套并返回json格式的数据处理
菜单功能列表嵌套菜单解决方案1、通过mapper定义sql的自循环,在查询时就完成菜单的嵌套数据库字段分析首先我们来看看数据库中的表字段显然parentId就是用来做嵌套的切入点完善表字段在IDE中我们需要为Menu这个实体类定义个Lis列表数组,用来装载菜单嵌套的数据注意:我们使用的持久层框架是MybatisPlus,所以添加注解告诉mybatisplus,这个List字段在数据库不存在接下来我们在mapper.xml文件中定义sql语句,这里建议在Navicat或者sqlyog中编写原创 2021-06-13 11:24:40 · 5844 阅读 · 7 评论 -
Springboot整合SpringSecurity和jwt的权限认证流程实现
Springboot整合SpringSecurity和jwt的权限认证流程实现1、springsecurity的流程图架构注:高亮的部分都需要我们去实现流程说明1、我们在整合进springsecurity的jar包之后,客户端发起的每一个请求,都会进入Security过滤器链2、当用户请求进入过滤器链中首先会在logoutFilter判断是否是登录出操作,如果是则跳转进logoutHandler的登出处理器,如果登出成功则会进入LogoutSuccessHandler,同时会帮我们删除用户通过s原创 2021-05-28 16:32:59 · 1453 阅读 · 1 评论 -
基于SpringBoot vue 文件上传功能实现
基于SpringBoot vue 文件上传功能实现1、实现vue的文件上传必须给对应的文件绑定vue的ref<td valign="middle" align="right" > photo:</td><td valign="middle" align="left"> <input type="file" ref="myPhoto" name="photo"></td>在提交异步请求的按钮上绑定事件 @click=“sa原创 2021-04-17 23:06:42 · 572 阅读 · 0 评论 -
基于SpringBoot vue 前后端分离的验证码实现
基于SpringBoot vue 前后端分离的验证码实现1、获取验证码的工具类package com.shuang.utils;import javax.imageio.ImageIO;import java.awt.*;import java.awt.geom.AffineTransform;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import jav原创 2021-04-17 18:27:48 · 611 阅读 · 0 评论 -
Shiro整合SpringBoot案例实现
Shiro 实战教程1、权限的管理1、什么是权限管理 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。 权限管理包括用户身份认证 和 授权两部分,简称认证授权。对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。2、什么是身份认证 身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式就是系统通过核对原创 2021-03-30 15:37:56 · 1721 阅读 · 0 评论 -
JWT最详细教程以及整合SpringBoot的使用(简洁易上手)
JWT1、什么是JWTJSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally sig原创 2021-03-30 15:26:51 · 30967 阅读 · 8 评论 -
Springboot整合Junit5 常用注解
@Test在Springboot2.0版本之后,Junit就是5.几的版本,在方法上添加@Test即可@Testvoid fun1(){ int res = 1+1; Assertions.assertEquals(2,res); System.out.println(123);}@BeforeEach & @AfterEach每执行一个@Test就会执行一次 @BeforeEach void before(){ System.out.原创 2021-03-01 22:39:34 · 1252 阅读 · 0 评论 -
BeanDefinitionStoreException: IOException parsing XML document from class path resource [spring-dao.
spring-jdbc | webmvc 版本过高导致文件读取失败的问题应保持Spring-jdbc 跟 Spring-webmvc 版本一致,不然会出现资源配置文件读取失败的问题原创 2021-01-01 16:10:35 · 962 阅读 · 3 评论 -
前后端分离的分页查询,基于Springboot + vue + Element Ui 实现过程附源码
分页查询在前端中分页查询的出现是为了让有一定数据量的页面能够更合理的展示出来,同时结合Element Ui提供的分页组件,能够对前端展示的数据做更多的操作。前端代码 <!--分页组件--> <div style="display:inline-block;"> <el-pagination style="padding-top: 15px" @size-change="findSizeChange"原创 2020-12-15 00:51:28 · 4812 阅读 · 8 评论 -
使用Springboot编写MVC流程时,遇到在ServiceImpl注入MapperDao失败
案例分析在我们使用Springboot进行发开时,遇到在ServiceImpl注入MapperDao失败,遇到如下场景解决方法在DaoMapper中添加注解 @Mapper,@Repository注意 @Mapper 使用的是 Mybatis 的注解,跟Spring没有联系,@Repository 是 Spring 的注解,用于声明一个 Bean。总之Mapper一定要有,MapperScan 可以代替Mapper...原创 2020-12-05 10:30:18 · 815 阅读 · 0 评论 -
Vue向后端发生请求时出现xhr.js?ec6c:177 GET http://localhost:8989/vue/user/findOne?id=9 net::ERR_CONNECTION_REF
xhr.js?ec6c:177 GET http://localhost:8989/vue/user/findOne?id=9 net::ERR_CONNECTION_REFUSEDUncaught (in promise) Error: Network Error原因前端通过post请求向后端发送请求传递参数时,后端以springboot为例接收参数需要添加注解支持解决方法在参数中添加@RequestBody/** * 修改用户信息 */ @PostMapping("updat原创 2020-12-03 02:00:29 · 21551 阅读 · 0 评论 -
Vue cli向后端发送请求出现错误
Access to XMLHttpRequest at ‘http://localhost:8989/vue/user/findOne?id=2’ from origin ‘http://localhost:8080’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource问题排查前端发送请求链接错误(少写了项目名或者端口写错)findOn原创 2020-12-03 01:47:34 · 678 阅读 · 0 评论 -
SpringBoot项目前端向后端传时间属性出现Json格式及时区问题
Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Incorrect datetime value: ‘1970-01-01 00:00:00.007’ for column ‘bir’ at row 1解决方法在实体类中date字段添加@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GTM+8").原创 2020-12-03 00:59:45 · 671 阅读 · 0 评论