![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作中问题
工作中遇到的问题
心里干巴的程序员
大城市的打工仔
展开
-
SpringBoot项目如何在静态代码块中读取application.yml配置
项目场景:今天在做项目中碰到一个问题,有一个类的静态代码块中的参数是application.yml中动态注入的。问题描述:但是熟悉Spring项目的同学都知道,@Value只能注非静态变量,否则赋值是null.该类代码如下:public class Test{ private final static String url; static{ url = ${变量}; } }原因分析:因为在加载静态变量时,该类还没有实例化,导致@Value无法赋值。解决方案:增加获取上下文B原创 2021-03-15 22:00:33 · 3549 阅读 · 6 评论 -
@SessionScope 解决了不同session下如何生成不同服务实例
项目场景:今天在项目中碰到一个问题,登录当前系统的用户,在调用第三方接口时需保存当前用户的cookie和session值到服务的参数中,因为服务实例是单例的,导致第一个用户登录完后,其他用户用的都是这个cookie和session值,无法按用户进行登录。问题描述:不同用户访问的是一个session和cookie值。应该是不同的,说白了,就是该服务应该做到用户隔离。登录服务Controller:@RestControllerpublic class UserController{ @Autow原创 2021-03-15 21:41:31 · 737 阅读 · 0 评论 -
MabtisPlus 动态数据源在多线程操作时不生效
项目场景:项目中用到多个数据库,用到了MybatisPlus的动态数据源。问题描述:因为数据量较多,所以采用多线程分批,插入数据,但是在插入的过程中报错,因为动态数据源的主数据源配的不是我想插入的数据库,虽然在Service设置注解@DS(“dataSource2”)但是不起作用。原因分析:可能是在多线程插入时默认主数据源为插入数据源解决方案:可以自己设置插入的数据源DynamicDataSourceContextHolderclass MyThread implements Runnabl原创 2021-02-01 23:57:36 · 1324 阅读 · 1 评论 -
项目中MybatisPlus插入数据优化之旅
项目场景:项目中涉及到接口人员同步,大约10万级数据量,但是在插入数据库的过程中发现很多问题,记录一下。问题描述:因为表中字较多,第一次插入数据库花了10多分钟,实在受不了,最终优化10万数据量插入数据库大约19秒左右。解决方案:解决方案一第一次优化是在mysql链接的参数上面批量插入:&rewriteBatchedStatements=true&allowMultiQueries=true这两个参数非常重要,提升很明显,配置完从10多分钟优化到3分钟左右解决方案原创 2021-02-01 23:44:51 · 683 阅读 · 2 评论