![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringBoot
文章平均质量分 76
小毕超
善于钻研思考,乐于追求新知识,热爱微服务架构,国内软考高级系统架构设计师职称,国际TOGAF鉴定级企业架构设计师、PMP项目管理师,华为云·云享专家,CSDN博客专家。曾获“联想杯”移动互联比赛 江苏省一和国二成绩,第四届全国应用型人才比赛“兄弟连杯”国一成绩。
展开
-
Spring ReflectionUtils 反射工具介绍和使用
Spring ReflectionUtils 反射工具介绍和使用原创 2024-02-25 17:25:41 · 936 阅读 · 0 评论 -
Spring-Retry 重试框架使用
自带的功能,具备间隔重试、包含异常、排除异常、控制重试频率等特点,是项目开发中很实用的一种框架。支持手动调用方式和注解方式。注解实现重试的效果,通过。原创 2024-01-02 19:28:01 · 1139 阅读 · 1 评论 -
Graceful Response 构建 Spring Boot 下优雅的响应处理
当抛出异常时我们希望根据不同的异常返回不同的错误码,在中为我们提供了注解,可以快速的指定返回的错误码和提示。@ExceptionMapper(code = "1003", msg = "自定义异常", msgReplaceable = true)super();@Slf4j/*** 返回对象形式*///具体逻辑// ....// 抛出异常/*** Command 形式*///具体逻辑// ....// 抛出异常。原创 2024-01-02 17:07:52 · 1743 阅读 · 0 评论 -
Admin-UI分布式微服务监控中心
SpringBoot全局事件全局异常捕获@ControllerAdvicepublic class GlobalException { @ResponseBody @ExceptionHandler(Exception.class) public ResponseTemplate GlobException(Exception e, HttpServletResponse response){ System.out.println("错误:"+e.toStri原创 2020-07-19 12:17:37 · 2811 阅读 · 1 评论 -
mybatis-plus 使用 mybatis-plus-join 增强多表关联查询能力
`mybatis-plus` 原生的能力不支持多表关联,对于这种场景只能通过写`SQL`进行实现,而`mybatis-plus-join` 则是建立在 `mybatis-plus` 基础之上的扩展框架,可以在不影响原有能力之上通过简单的`API`即可实现多表关联能力而无需编写`SQL`。原创 2023-10-31 19:04:28 · 3609 阅读 · 0 评论 -
SpringMVC 基于方法参数解析器自定义注入参数方案
在SpringMVCWeb项目开发中,我们可能需要经常获取一些公共的信息,比如用户信息、请求的Token等等,这种情况下我们可以封装一个工具类进行统一获取,也可以通过本篇文章讲解的方法参数解析器进行自动注入。例如:这里以User信息和Token为例 ,我们可以以下面这种方式注入到Controller层,其中业务开发人员无需关注数据从何而来,直接开箱使用即可:注解中也可以加上一些参数进行更灵活的注入信息。原创 2023-06-04 17:45:31 · 402 阅读 · 0 评论 -
Spring中使用Aop @DeclareParents 进行类功能增强
当我们已经完成了一个项目的某个阶段开发,此时需要对已完成的某个类加入一些新的方法,我们首先想到的是写一个接口,然后让这些需要方法的类实现此接口,但是如果目标类非常复杂,牵一发而动全身,改动的话可能非常麻烦。此时就可以使用此注解,然后建一个代理类,同时代理该类和目标类。(切面)功能提供一种组件,它可以在代理目标类上增加新的行为(新增新的方法)。使用时,支付接口可以转为增强接口,调用增强方法。使用代理将增强接口代理到支付接口。支付需要增强,创建一个增强接口。原创 2023-04-03 15:44:08 · 254 阅读 · 1 评论 -
基于 dynamic-datasource 实现 DB 多数据源及事物控制、读写分离、负载均衡解决方案
下面分别从 多数据源及事物控制、读写分离实现、负载均衡实现三个方面进行实践。可以注解在方法上或类上,同时存在就近原则 方法上注解 优先于 类上注解。注解即可,但是仅针对于单个数据源的情况,多数据源下我们可以使用。已经实现多数据源查询效果,下面继续事物的控制,应该都了解在。上面通过 mybatis 的拦截器实现了读写分离,同时。都需要添加注解,那我们可以是不是可以通过。针对于多数据源的切换推出了。从上面的步骤中,已经了解到了。可以看到明显的负载轮训效果了。的快速集成多数据源的启动器。原创 2022-08-21 17:34:44 · 2861 阅读 · 1 评论 -
基于 JSch 实现服务的自定义监控解决方案
JSch是SSH2的一个纯Java实现。它允许你连接到一个sshd服务器,使用端口转发,X11转发,文件传输等等。你可以将它的功能集成到你自己的 程序中。既然可以通过SSH连接到服务器,那就可以执行一些 命令 ,例如我们要监控一个服务是否正在运行,或者服务有无僵死,可以通过查看服务进程是否存在,访问接口是否正常来判断,如果不正常,我们可以通过JSch连接到该服务器中,执行重启的脚本。现在对于新的项目相信大家都已经放在k8s中部署了,在k8s。......原创 2022-08-07 15:55:19 · 1071 阅读 · 0 评论 -
基于 SSE 实现服务端消息主动推送解决方案
简单很多,服务器端和客户端工作量都要小很多、简单很多,同时实现的功能也要有局限。的简称,是一种服务器端到客户端(浏览器)的单项消息推送。的兼容性,多增加了一个接口和队列,因此在发布的时候,就需要同时向。的话我们就直接提供一个接口,每次都从队列中消费消息,这里以。客户端通过接口轮训的方式每次都从队列中消费消息,以实现。为例实现一个单机的队列,如果是分布式的可能就要考虑。相比于服务端,客户端就显得非常简单了,但也要考虑。类已经封装好了相关操作,可以方便的实现功能。启动服务端,首先演示SSE的效果,使用。....原创 2022-07-31 17:30:35 · 3813 阅读 · 8 评论 -
SpringBoot 使用 Minio 进行文件存储
是在过去4年的时间内从0开始打造的一款软件,符合一切原生云计算的架构和构建过程,并且包含最新的云计算的全新的技术和概念。强有力的支持和驱动了很多世界500强的企业。此外,其部署的多样性和专业性提供了其他软件无法比拟的优势。存储桶类似于文件系统中的文件夹或目录,其中每个桶可以容纳任意数量的对象。、自由的创新和创造、自由的去修改、自由的再次发行新的版本和软件.确实,缩放器的来之不易的知识,为对象存储带来了简单的存储缩放模型,在。是全球领先的对象存储先锋,在标准硬件上,读/写速度上高达。...原创 2022-07-24 17:41:49 · 2132 阅读 · 0 评论 -
SpringBoot 集成 Swagger 文档及自定义访问路径
Swagger文档框架pom <!-- swagger 文档 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version>原创 2020-07-19 13:13:41 · 23496 阅读 · 1 评论 -
Spring Validation 验证框架全面总结
一、介绍Spring Validation 验证框架对参数的验证机制提供了@Validated (Spring’s JSR-303 规范,是标准 JSR-303 的一个变种),javax 提供了@Valid(标准 JSR-303 规范),配合 BindingResult 可以直接提供参数验证结果。其中对于字段的特定验证注解,比如 @NotNull。两者在检验 Controller 的入参是否符合规范时,使用@Validated 或者 @Valid 在基本验证功能上没有太多区别。但是在分组、注解地方、嵌套原创 2021-07-30 15:02:17 · 7367 阅读 · 3 评论 -
Springboot 使用AOP及全局事件
AOPAOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。SpringBoot中使用AOP@Aspectpublic class GlobAop { /*原创 2020-07-19 11:39:12 · 1088 阅读 · 0 评论 -
SpringBoot JWT+SpringSecurity权限管理,使用JSON交互
SpringBoot JWT+SpringSecurity权限管理,使用JSON交互什么是SpringSecuritySpring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功原创 2020-07-29 14:38:20 · 3356 阅读 · 1 评论 -
SpringBoot WebFlux响应式编程
SpringBoot WebFlux响应式编程简介Spring WebFlux是Spring Framework 5.0中引入的新的反应式Web框架。 与Spring MVC不同,它不需要Servlet API,完全异步和非阻塞, 并通过Reactor项目实现Reactive Streams规范。 并且可以在诸如Netty,Undertow和Servlet 3.1+容器的服务器上运行。Flux 和 Mono 是 Reactor 中的两个基本概念。Flux 表示的是包含 0 到 N 个元素的异步序列。原创 2020-07-19 19:08:52 · 1064 阅读 · 0 评论 -
线程池讲解及SpringBoot配置线程池&定时任务
SpringBoot 异步任务&定时任务异步任务@Component@Asyncpublic class AsyncTask { public Future<String> task4() throws InterruptedException{ long begin = System.currentTimeMillis(); Thread.sleep(2000L); long end = System.currentTimeMillis(); System.o原创 2020-07-19 13:17:45 · 3616 阅读 · 0 评论 -
SpringBoot 使用OKhttp
SpringBoot 使用OKhttppom <!-- Okhttp --> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.6.0</version>原创 2020-07-19 12:38:02 · 6178 阅读 · 1 评论 -
JWT的Token认证机制
JWTpom <!-- JWT --> <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.5.0</version> </dependency>原创 2020-07-19 12:19:30 · 3877 阅读 · 0 评论 -
SpringBoot多文件上传,文件下载
SpringBoot多文件上传文件上传@PostMapping("/fileUpload") public ResponseTemplate handleFormUploadFile(@RequestParam("uploadfile") List<MultipartFile> uploadfile, HttpServletRequest request) { if (!原创 2020-07-19 12:16:07 · 993 阅读 · 0 评论