![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 80
mabo_9704@163.com
努力成为六边形战士
展开
-
一个注解替换synchronized关键字:分布式场景下实现方法加锁
单机部署场景下,当我们需要锁住少量代码块或者方法,通常会使用synchronized关键字进行加锁,如下所示} }但是,在分布式场景下,由于jvm之间无法通信,一个服务是无法感知另外一个服务对当前代码快加锁。该demo实现了分布式场景下,使用一个注解,对方法进行加锁。单机也可以使用。...原创 2022-08-03 18:25:33 · 502 阅读 · 0 评论 -
SpringBoot单机和分布式(RocketMQ解决)WebSocket聊天室
HTTP 协议有一个缺陷:通信只能由客户端发起。HTTP 协议做不到服务器主动向客户端推送信息。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。我们只能使用"轮询":每隔一段时候,就发出一个询问,了解服务器有没有新的信息。轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP 连接始终打开)。因此,出现了 WebSocket。.........原创 2022-08-02 19:31:28 · 2641 阅读 · 0 评论 -
SpringBoot如何优雅的处理所有的异常接口返回值为JSON
当调用接口后,执行的代码发生了异常,通常就会返回如下页面通过配置后,可以对所有的异常接口进行处理,返回如下的Json返回子更加美观,也方便查找错误格式化后。原创 2022-07-24 22:45:57 · 558 阅读 · 0 评论 -
一个注解实现方法返回数据写入缓存(切面、Redis实现)
底层采用redis来进行存储,用有超时时间的set方法来存储。采用切面的方式,对方法进行动态代理,一共分为两种情况。先去缓存中读取该方法的返回值,如果为空,则执行方法。TimeUnit超时时间的单位。timeOut超时时间。不为空,直接返回缓存数据。valuekey值。.........原创 2022-07-21 21:54:12 · 354 阅读 · 0 评论 -
实体注解-批量生成10000条测试数据
实体注解-批量生成10000条测试数据原创 2022-07-19 22:13:24 · 632 阅读 · 0 评论 -
使用一个注解实现SpringBoot接口限流(Redis、反射、切面实现)
sentinel的限流功能非常强大,但是单机springboot如何实现简单的接口限流。这篇文章将告诉你如何用一个注解@BlockHandler,就可以将你的接口通过切面的方式实现限流。原创 2022-07-18 21:21:06 · 1180 阅读 · 1 评论 -
使用两个注解,三步完成SpringBoot事件监听(反射,切面实现)
当某个事件需要被监听的时候,我们需要去做其他的事前,最简单的方式就是将自己的业务方法追加到该事件之后。但是当有N多个这样的需求的时候我们都这样一个个去添加修改事件的源码吗?这篇文章将告诉你如何用一个注解,就可以将你的业务代码通过切面的方式添加到事件的前后,而不需要修改事件的代码。.....................原创 2022-07-16 17:27:25 · 598 阅读 · 0 评论 -
利用切面、注解、反射实现SpringBoot的事件监听
当某个事件需要被监听的时候,我们需要去做其他的事前,最简单的方式就是将自己的业务方法追加到该事件之后。但是当有N多个这样的需求的时候我们都这样一个个去添加修改事件的源码吗?这篇文章将告诉你如何用一个注解,就可以将你的业务代码通过切面的方式添加到事件的前后,而不需要修改事件的代码。..................原创 2022-07-15 22:08:37 · 776 阅读 · 1 评论 -
接口的参数返回封装类Result
接口的参数返回封装类Result。原创 2022-07-14 19:35:27 · 995 阅读 · 0 评论 -
Base64与文件互转
Base64与文件互转。原创 2022-07-24 16:52:09 · 7817 阅读 · 0 评论 -
三步完成SpringbootWeb项目使用自定义注解
开发中我们可能要在spring项目中使用自定义注解来完成额外的业务模块,该demo将展示如何适应AspectJ,用切面的方式,使用自定义注解原创 2022-07-14 16:20:41 · 235 阅读 · 0 评论 -
ThreadLocal线程安全示例及其原理
线程安全是多线程编程时的计算机程序代码中的一个概念。 在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。多个线程访问同一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他操作,调用这个对象的行为都可以获得正确的结果,那么这个对象就是线程安全的。...原创 2022-07-10 15:13:50 · 4511 阅读 · 0 评论 -
毕设:基于Vue+Socket+Redis的分布式高并发防疫健康管理系统
摘要: 疫情期间,校园疫情上报线上压力大,使用频繁。像校园疫情上报该类型并发量较高,访问频繁的系统需要进行快速响应。传统的系统并发量低,无法在这种情况下满足用户的使用需求。本系统采用BS架构,客户端维护简单。系统采用前后端分离,前端PC和移动端分离,后端分布式部署,既可以提高访问速度又能提升系统稳定性,在遇到个别服务器出现异常情况下,仍然可以保证用户正常使用。............原创 2022-06-01 10:43:51 · 677 阅读 · 0 评论 -
自己用的Java学习路线图
java的学习路线图个知识点原创 2022-07-24 16:54:23 · 342 阅读 · 0 评论 -
基于SpringBoot和Redis:Redisson的分布式锁的使用
为了保证一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLcok或synchronized)进行互斥控制。但是,随着业务发展的需要,原单体单机部署的系统被演化成分布式系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这就是分布式锁要解决的问题。基于SpringBoot和redis,rediss原创 2021-11-29 19:51:38 · 871 阅读 · 0 评论 -
用java实现纯注解Spring框架的部分内容(包括IOC,AOP,定时器,javaWeb)
用Java实现纯注解Spring框架[包括IOC,AOP,定时器,javaWeb后端]前言一、源码下载地址(github)二、IOC--源码及其实现原理1、IOC(依赖注入)的全过程1、IOC(依赖注入)的全过程三、AOP--源码及其实现原理四、定时器--源码及其实现原理五、JavaWeb(类似SpringBoot)--源码及其实现原理六、如何使用该框架总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、源码下载地址(github)二、IOC–源码及其实现原理1、IOC(依赖注入)的原创 2021-11-03 22:59:27 · 142 阅读 · 0 评论 -
java读取配置文件工具类
如何读取下方配置文件并且向其中传入参数:执行成功的截图使用改工具类的方法:public static void main(String[] args) { PropertyUtil properties=new PropertyUtil(); Map<String,String> map=new HashMap<>(); map.put("tableName","user"); map.put("id","10原创 2021-10-17 11:16:20 · 281 阅读 · 0 评论 -
vue+socke+redis(可选用)前后端分离:学校疫情上报系统
vue+socke[可选用] 前后端分离:学校疫情上报系统一、项目技术栈介绍1. 前端2.后端二、项目演示及其功能介绍登录注册登录成功管理员页面教师页面学生页面控制台页面三、测试说明四、开发说明五、项目下载一、项目技术栈介绍1. 前端前端采用vue框架。为了美化也采用了elementUI组件页面跳转使用vue路由与后端通信采用axios通信2.后端服务器与数据库交互的中间件使用redis(不使用除了访问速度变慢无其他影响)redis采用集群模式但同时支持一个redis服务器与前原创 2021-09-21 16:11:16 · 480 阅读 · 0 评论