![](https://img-blog.csdnimg.cn/20210127220900767.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
技术点
文章平均质量分 71
技术点
素净小凡人
一个在后端路上的小程序猿
展开
-
Mybatis在集群环境下脏读问题
文章目录一、一级缓存的不共享性二、并发下的脏读问题三、怎么解决1.在SQL语句中随机生成不同的参数2.开启二级缓存3.强制清除一级缓存4.创建新的sqlSession连接一、一级缓存的不共享性每个SqlSession都有独立的HashMap缓存数据 protected PerpetualCache localCache;//一级缓存所以Mybatis的一级缓存是不共享的二、并发下的脏读问题我们设想有两个集群节点我们先执行查的操作假设A执行了查询把一条数据查询出来加载到自己的缓存A中,此原创 2021-01-26 20:37:50 · 783 阅读 · 2 评论 -
SpringAOP实现
1、什么是AOPSpringAOP可以在方法的之前和之后实现增强,Sprignbean生命周期中有初始化前执行和初始化之后执行,和这个AOP思想一样但是不是使用的AOP2、SpringAop有哪些应用场景日志事务安全控制等等。3、为什么使用AOPAOP可以解决我们正在程序上的冗余问题4、AOP原理前置通知后置通知环绕通知运行通知异常通知5、 实例包结构1、引入pom <dependency> <groupI原创 2021-01-22 22:16:38 · 344 阅读 · 0 评论 -
使用Condition分环境注册bean对象
场景假象我们想一个场景,在Windows7、Windows10、CentOS不同的系统下去跑代码我们肯定是需要跑的东西也有区别,我们接下来模拟一下加入一个类只有在Windows10的情况下会被加载,当然用if也可以实现但是今天我们用Condition去区分环境完成分环境下的注册代码实现@Repositorypublic class MyCondition implements Condition { @Override public boolean matches(Condition原创 2021-01-19 19:52:07 · 343 阅读 · 0 评论 -
权限分配问题
1、权限数据库设计:五张表实现权限分配用户表、角色表、菜单表、用户角色关系表、菜单角色关系表思路:给角色分配菜单、给用户分配角色资源中会给到.sql脚本2、难点设计:因为菜单采用的树形表所以需要去递归遍历给出递归遍历过程,其余的CRUD就不写啦 /** * 使用递归方法建菜单 * * @param treeNodes * @return */ public List<PermissionShow> build2(Lis原创 2020-12-09 09:45:59 · 456 阅读 · 0 评论 -
RabbitMQ
RabbitMQ1.什么是MQMQ(Message Quene) : 翻译为 消息队列,通过典型的 生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为 消息中间件 通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。2 MQ有哪些当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的原创 2020-11-30 20:21:08 · 322 阅读 · 0 评论 -
常用pom依赖以及一些项目常用插件推荐
Thymeleaf、MyBatis-plus 等常用pom引用Thymeleaf模板引擎<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>Thymleaf使用时需要加命名空间xmlns:th=“http://www.thymel原创 2020-11-10 18:33:32 · 695 阅读 · 0 评论 -
Cloud注册中心
服务注册中心一、RestTemplate实现服务调用(并非服务注册中心)RestTemplate配置类import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.client.RestTemplate;@Configurationpublic class Applic原创 2020-11-01 08:01:10 · 588 阅读 · 0 评论 -
SpringBoot整合EasyExcel、swagger
EasyExcel1、引入easyexcel的pom依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.3</version></dependency>2、配置监听以添加树形一二级分类为例:import com.alibaba.excel.context.An原创 2020-10-29 20:03:02 · 1002 阅读 · 0 评论 -
Springboot集成Redis
一、Redis介绍Redis是当前比较热门的NOSQL系统之一,它是一个开源的使用ANSI c语言编写的key-value存储系统(区别于MySQL的二维表格的形式存储。)。和Memcache类似,但很大程度补偿了Memcache的不足。和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更原创 2020-10-28 18:42:33 · 1311 阅读 · 0 评论 -
Mybatis-plus一些常用操作
Mysql主键策略自动增长 AUTO INCREMENT :分表时不方便UUID:每次操作生成随机唯一的值 :排序不方便Redis实现:incr 实现Mybatis-plus自动生成(长19位)ID_WORKER:mp自带侧策略,生成19位值,数字类型使用这种策略 比如longID_WORKER_STR:mp自带侧策略,生成19位值,子字符串类型使用这种策略 比如Stringmp实现自动填充不需要set到对象里边的值,使用mp的方式实现数据添加(比如不用手动添加时间) @T原创 2020-10-28 18:41:11 · 586 阅读 · 0 评论 -
JAVA实现文件上传oss以及阿里云视频点播
引入依赖 <!-- 阿里云oss依赖 --><dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.8.1</version></dependency><dependency> <groupId&g原创 2020-10-28 17:21:27 · 2208 阅读 · 0 评论