- 博客(9)
- 收藏
- 关注
原创 解决 springboot 多数据源或动态数据源 的事务问题
需求背景: 动态数据源 或者 多数据源 在项目当中是经常遇到的,但由于spring 开启事务后,为保证整个事务的 connection 不会变化,spring 在通过 DataSourceUtils 获取 connection 的时候会用 DataSource 作为 key 将 connection 保存到 ThreadLocal 中(这段代码是没办法进行重写的,它是静态方法,并在其他地方直接调用),如下所示:spring 事务获取 connection 源代码:public static Con
2021-06-09 23:02:37 4346 4
原创 springboot+mybatis 实现 动态数据源
应用场景 单个应用里面同时需要操作多个库的表,且库不固定; 这是以前做的一个 数据解析 服务场景下的一个功能,因为每次解析的数据量很大,会生成大量的表,所以每次的解析生成的数据都会单独创建一个来存储; 当然在其他 比如 多个数据源 实现读写分离 等场景下也可能会遇到这样的问题;实现方案 这里使用的方案是参考的 AbstractRoutingDataSource,重写 DataSource,并在获取 connection 的时候实现数据源的自动切换,从而实现使用一个 SqlSessionFa
2021-06-09 22:08:33 1549
原创 Navicat 连接 mysql8 报错:2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded:xx
Navicat 连接 MySQL8 报错:2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded:xxxx;问题原因 这是因为 mysql 8 之前密码加密规则为 mysql_native_password,而 MySQL8 之后的加密规则为 caching_sha2_password,也就是说,如果要连接 MySQL,其实只需要将 密码规则 改回 mysql_native_password 即可;解决方法1
2021-03-15 22:41:02 11467 8
原创 自定义 springboot starter 及其源码解析
自定义 springboot starterspring boot 启动自定义 starter 源码解析读取 spring.factories 文件提取 EnableAutoConfiguration 配置流程总结自定义 springboot starter 第一步:创建被引入项目的 config 类,主要是一些基本配置,比如扫描等等 第二步:在 resource 目录下,新建 META-INF 文件夹,并创建 spring.factories 文件,然后在 将配置类 赋值 给 org.
2021-03-09 23:49:31 1147
原创 springboot 防止重复请求,防止重复点击
利用 springboot + redis 实现过滤重复提交的请求,业务流程如下所示,首先定义一个拦截器,拦截需要进行过滤的URL,然后用 session + URL 作为唯一 key,利用 redis setnx 命令,来判断请求是否重复,如果 key set 成功,说明非重复请求,失败则说明重复请求; URL 拦截器可以使用 spring 拦截器,但使用 spring,每个需要过滤的新 URL 都需要添加配置,因此这里使用 AOP 注解 的形式来实现,这样更直观一点; 首先,定义注解:@
2021-03-02 22:03:20 3771 2
原创 Centos8 无法访问网络的问题
Centos8 默认情况下是没有激活网卡的; 当我们安装 Centos8 后,第一次访问网络,比如 ping:www.baidu.com,一般都会提示你 ping:www.baidu.com: Name or service not known; 所以,安装 Centos8 之后,首先应该激活网卡,这样才能访问网络; 进入网络配置目录:cd /etc/sysconfig/network-scripts 一般来说该目录下会存在一个 ifcfg-ens33 的文件 使用 vi 编辑该
2021-01-20 23:20:56 3704
原创 ieda配置 javap 后运行报错,错误:找不到类
ieda javap 错误: 找不到类 这两天为了方便学习,参照百度在 idea 的 External Tools 上配置了 Javap,但反编译的时候却直接报错,找不到类;![image.png](https://img-blog.csdnimg.cn/img_convert/af0bb8a15f16c345ae3136263995ea9b.png#align=left&display=inline&height=98&margin=[object Object]&n
2020-10-27 22:21:30 2098 3
原创 SpringMVC 利用注解获取 Session 中的数据
SpringMVC 利用注解获取 Session 中的数据1. HandlerMethodArgumentResolver 的使用 通常来说,我们获取获取 Session 中的数据,比如 登录用户 LoginUserVO,都是在方法中注入 HttpSession,然后执行LoginUserVO attribute = (LoginUserVO) session.getAttribute(“login_user_key”); 来获取,因为用到的地方比较多,每次都得写重复的代码还得进行数据的转换就会很
2020-09-01 22:33:45 880
原创 Spring XML Bean 标签基本属性
Spring XML Bean 标签基本属性1. 标签属性介绍:idbean 名称,默认为 类名;class 被代理类的 class;name:相当于 alias,bean 别名,多个别名用 ‘,’ 隔开;parent:首先 parent 并不指 bean 对象的继承关系,它是指的是 标签的继承关系,既一个 标签可以通过 parent 继承到另一个 标签的所有数据,避免一些重复数据的重复书写;scope:作用域,表示这个 bean 的作用范围,默认有 sing
2020-07-19 22:12:03 402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人