![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 51
Htdlz
这个作者很懒,什么都没留下…
展开
-
如何优雅的记录操作日志
操作日志记录组件具体的实现已经在Github了,注释应该还比较完整Github链接实现参考https://tech.meituan.com/2021/09/16/operational-logbook.html美团技术团队的文章但具体实现均自行实现现已完成功能支持日志方法上的重入支持日志参数的穿透完成SpringAop支持Spel的参数解析支持自定义方法扩展自定义日志持久化使用方法@Record(success = “XXX已完成,参数:`Spel解析式`”,fail=“X原创 2021-11-25 15:57:37 · 436 阅读 · 0 评论 -
继承WebMvcConfigurationSupport后导致静态资源无法访问
不怕笑话的说,遇到这个静态资源无法访问的情况查了一天多.一开始只是在查static目录下无法访问的问题.发现如何修改配置都没有效果,后来发现webjars目录也无法访问,才开始怀疑是mvc配置导致的冲突.从webjars开始查起发现,在WebMvcAutoConfiguration下这里没有配置成功的话,肯定是我们的配置与他冲突了写的很明显了,所以我们如果需要自己实现WebMvcConfigurationSupport的话会顶掉mvc的自动配置解决在WebMvcConfigurationS原创 2021-11-08 14:17:01 · 685 阅读 · 1 评论 -
GitHub使用Sonarcloud进行项目分析
发现Sonarcloud对于github的开源项目是免费使用的,但是配置过程中遇到了很多问题,百度还是Google相关的搜索都不多,特此记录一下整个流程.0.准备本文基于使用Maven项目的情况下.你需要注册一个Github和Sonarcloud的账号并且相互绑定.1.生成一个Sonarcloud的访问Token记住你的Token2.选择分析的项目3.选择分析方式选择为Github工作流4.设置SONAR_TOKEN按照提示设置,这里可以设置使用第一步里我们生成的toke.原创 2021-10-21 18:14:34 · 1220 阅读 · 0 评论 -
Stream对于BigDecimal的扩展
废话不多说,直接贴代码.public class BigDecimalCollect { public static Collector<BigDecimal, BigDecimal[], BigDecimal> sum() { return BigDecimalCollect.sum(ToBigDecimalFunction.identity()); } public static <T> Collector<T, BigDec原创 2021-05-29 19:00:51 · 333 阅读 · 0 评论 -
SpringBoot(一)-应用-日志模块的统一
SpringBoot日志SpringBoot是快速构建Spring应用的框架.SpringBoot实现了自动装配,只需要我们导入指定的需要的包,并且声明必要的配置就可以使用了.但是各个组件使用的日志组件不一致,会导致在输出日志的时候很乱了SpringBoot解决问题首先我们在我们项目中使用pom.xml引入 <dependency> <groupId>org.springframework.boot</groupId>原创 2021-05-20 10:54:22 · 238 阅读 · 0 评论 -
Springboot Redis多Db切换解决方案
Springboot Redis多Db切换解决方案1.问题描述2.解决思路3.解决问题4.使用方法1.问题描述一个需求,需要一个组件对接redis,需要支持多个DB的切换,以及序列化和反序列的管理,并且不对以往代码造成影响,且可以支持SPI形式的接入.2.解决思路1.需要支持多个DB的话,那么切换DB的时候不能对其他的线程造成影响,结果应该是一个线程在连接池中获取到对应的DB链接,操作完成之后把链接放回线程池.2.这样在实现的时候应该使用一个Map结构存储线程和dbIndex的关系.原创 2020-08-14 18:22:00 · 1818 阅读 · 2 评论 -
Java线程池CallBack超时实现方案
在实际的开发中我们可能会遇到这样的问题: 需要并发的查询返回数据整合在一起,还需要设定超时,以免有一些东西查的实在太久,无法按时返回数据.我的思路是使用CountDownLatch实现.public abstract class AbstractCallBackThread<T> implements Runnable{ private Consumer<T> callBack; private CountDownLatch countDownLatch;.原创 2020-07-14 20:48:36 · 762 阅读 · 0 评论 -
Java时区问题
导出excel的时候本地测试的时候没有问题,但是发布到测试环境之后,导出表格的时候表格中的时间都少了8个小时.尝试指定Locale.CANADA一点用都没有= =需要使用simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8"));解决问题...原创 2018-12-12 11:56:53 · 286 阅读 · 0 评论 -
Dubbo配置多个zookeeper注册中心
问题场景:公司的新项目crm系统创建单独的数据库和单独的zk,表设计比较简单,所以大部分的即时性要求高的的数据需要从原本的数据库提取,可以配置双数据源,但是双数据源会带来更多的问题,继而选择使用在crm系统配置两个zk注册中心,把提取数据的sql写在之前的系统里,然后开放服务,然后在crm中调用服务实现提取数据.解决...原创 2018-12-28 17:23:52 · 5849 阅读 · 0 评论 -
JAVA正则表达式语法
ArrayList和LinkedList的区别: 从名字就可以看出在java核心类库里Arraylist是通过数组实现的,而Linkedlist是通过链表实现的。 通过数组实现的对象存储所带来的好处就是查找非常方便可以直接定位所需要的内容,通过链表实现对象的存储所带来的好处就是插入删除某一内容非常方便。原创 2018-08-19 18:05:53 · 173 阅读 · 0 评论