
web
快乐妮子
我不知道终点在哪里,但我知道此刻的自己需要一步一脚印的向前走!
展开
-
Mybatis拦截器+Cat监控+SpringBootStarter自动装配+实现Sql跟踪
你知道的越多,不知道的也越多!之前就非常好奇在公司内部Cat(大众点评监控系统)上可以看到每次调用链路里的Sql日志。下图来自cat某个链路的日志截图。跟踪SQL有啥好处么?当然有阿, 方便排查慢SQL 。你要知道,如果一个request timeout,QA人员天天吐槽你,经理气的炸毛,然后你还在抓脑门,到底哪里慢了,这可还行?原以为Cat自身支持该功能,其不然,是公司二次开发,我只能说YYDS~其实主要涉及到的几个知识点已经在标题里提到了。下图是一个思维图,我也不知道用什么图比较合适。.原创 2021-09-26 18:56:47 · 406 阅读 · 0 评论 -
Redis批量执行命令
只需要两步骤!!!1、编辑预执行的批量命令建议直接找台Linux服务器,使用Linux自带的文本编辑,避免Window 、Linux换行符不一致,还需要做换行的转换。-- 新建命令文档vim batch.txt-- batch.txt中输入批量命令lpush batch:queue 1lpush batch:queue 2lpush batch:queue 3lpush batch:queue 42、cat + redis-cli 批量执行 cat batch.txt | r.原创 2020-11-29 18:55:18 · 2122 阅读 · 0 评论 -
记一次奇妙的启动异常排查过程java.lang.NoClassDefFoundError
奇妙的异常(1)异常症状(2)挠头思考 WHY ?(3)解决办法(1)异常症状这个异常是一次SpringBoot项目启动的时候发生的,我先直接贴图,从日志上看,我直白翻译之后的理解:无法生成【xxx】的bean ,由于该bean的init方法报错了。报错又是因为没有找到DefaultValueOperations.class。(2)挠头思考 WHY ?知道日志的意思之后,我立马就定位到该【xxx】bean的init 方法。看了很久,压根就没有用到任何和Redis引用,怎么就赖上了这个init 方原创 2020-11-13 17:29:19 · 259 阅读 · 0 评论 -
No qualifying bean of type bean but found
1、报错分析报错日志的表面意思:希望指定一个明确的bean进行导入,但现容器中有2个bean ,分别是重点: 意思就是@Autowire 的时候,Spring 需要将 beanId= grouponService 的bean 注入到变量中,但容器里没有对应的bean对象。2、探索原因继续查看项目里在哪里配置了bean的注入,最后发现了两处:// 会向容器中导入beanId = @Reference com.xxx.trade.remote.GrouponService 的bean原创 2020-11-02 20:34:33 · 576 阅读 · 0 评论 -
天天见的单例模式了解一下
参考链接如下:为什么要使用单例模式Java单例模式的5种实现方法这篇内容主要是自己看完网友写的博客之后的一点点总结。为什么要用 ?第一个问题的答案,可以看开头的推荐的第一篇博客里。第一篇我觉得写的挺好的,纠正了一些误区。那怎么去实现 ?第二个问题的答案 ,具体可以看开头的推荐的第二篇博客。这里还需要知道单例模式实现的几个共同点:私有的构造函数,对外无法实例化;由于外部无法实例化,但是还是需要调用呀,那所以要提供给一个能获取单例类的实例对象的方法啊。一般该方法的名字 : createI.转载 2020-07-20 13:59:05 · 146 阅读 · 0 评论 -
MongoTemplate直接将Json存入MongoDB
记住两点就好了(1) 记住MongoTemplate(2) 使用 com.alibaba.fastjson直接看代码,一看就懂的记住Json如果选择了其它的,可能会给你带来惊喜的哈.出现member ,出现name,value取出来用JSONObject 接口,怎么获取到ObjectId的16进制的字符串插入之后会出现_class...原创 2020-07-17 18:09:46 · 4575 阅读 · 0 评论 -
Cookie怎么设置了不生效
今天本来写一个简单的登录demo , 其中有个思路,就是直接将token 存在cookie 中,这样后端接口进行token校验的时候,可以直接从Cookie 中获取但是,等我全部写好了,悲剧发生了,Cookie 就是没看见。好想贴一张狗头的图片,但我现在没时间去搜去,毕竟现在快凌晨了啊啊啊啊 。赶紧写完这篇博客要紧 !直接说下,我错哪了,我错就错在Cookie的domain 和 path 的值 设置错了,呜呜呜呜呜呜呜呜呜 ~前端实现Cookie设值注意: 需要引入jquery.js 和 c.原创 2020-07-07 23:57:33 · 4661 阅读 · 0 评论 -
微服务如何接收下游服务抛出的异常
相信大家在使用微服务的过程中,必定会遇到远程服务的调用,既然这样,必定也会存在一个如何优雅的接收调用下游服务的响应。解决思路(1)统一接口响应实体每个微服务接口的响应类型统一,比如我这边都统一成ResponseBaseDTO类。这个类可以做成一个底层共通的jar包,或者做成一个共通的微服务。import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Getter;import lombok.NoArgsConst.原创 2020-07-07 14:25:19 · 4794 阅读 · 4 评论 -
记录CountDownLatch的一次简单使用
最近这边连续下了好几天的雨了啊啊啊,你那边呢?嗯哼?这开场的感觉不对呀,好尬,哈哈哈哈~直接进入正题吧。什么是CountDownLatch这个是在JDK1.5开始就出现的,并发编程工具类。这里偷懒下,直接看下源码上的类注释吧,相信你看完就差不多大概知道这个干啥子用的了。在这里,请允许我用本人的蹩脚英文稍微翻译下:可以允许一个或者多个线程等待,直到一组在其它线程里的操作都完成,然后再执行。初始化CountDownLatch时提供一个count数,主方法一直将被阻塞直到多次调用CountD.原创 2020-06-16 18:21:00 · 241 阅读 · 0 评论 -
SpringBoot追加自定义的MessgeConverter
自定义messageConverter@Configurationpublic class WebConfiguration implements WebMvcConfigurer { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { MappingJackson2HttpMessageConverter con原创 2020-05-20 16:02:56 · 656 阅读 · 0 评论 -
使用异常枚举类让if( condition ){ throw Exception }变的简洁点吧
现在大多数的接口项目,对于一些业务异常处理,都是直接以先来看一段非空判断抛出异常的代码 User user = userService.findUserById(1); if(user==null){ th }原创 2020-04-30 17:47:04 · 655 阅读 · 0 评论 -
xxl-rpc remoting request fail, http HttpStatus[302] invalid
初次体验 分布式任务调度 xxl-job ,参考网上很多入门教程以及给力的源码 ,相信你也可以快速地在项目里整合起来。废话不多说,在我启动执行器的项目的时候,竟然启动失败了, 直接po上我遇到的问题:一开始看着控制台的错误日志,一直以为是http://127.0.0.1:8080/解决思路:xxl-job 的开发者不是已经提供了很多sample的嘛。好好看,仔细看看,咦,samp...原创 2020-04-28 18:08:00 · 10893 阅读 · 5 评论 -
Nginx反向代理来解决跨域问题
参考如下博客,自己小小总结了下跨域的一些问题:什么是跨域浏览器为什么要设计同源策略什么是跨域?如何解决跨域的概念一个域下的文档或者脚本(比如ajax) 去请求另外一个域的资源。这里判断是否在一个域的,依据三点: 协议(http|https) + 域名 + 端口 ,如果中间 有任一个不同,那么就算是跨域请求。注意: 如果两个域名指向同一个ip ,那也算是跨域请求!我们来看下面的页...原创 2020-04-28 11:13:23 · 921 阅读 · 0 评论 -
Nginx上传文件很慢很慢
收到同事反馈,一个上传apk的接口,传一个180多兆的文件,一直转圈,最终提示上传文件失败Bug所处背景带宽为10M的云服务器,额,,,就算按照7M的带宽,如果是一个180M的文件,网络顺畅的话,大概需要xxx项目主要是前端用formData封装文件,然后调用上传接口。项目四查找原因nginx 的error 日志里发现,请求里的body太大了。还有就是前端控制台会报一个ERROR_...原创 2020-04-22 23:45:06 · 10596 阅读 · 1 评论 -
Nginx做图片反向代理的简单配置
Nginx配置图片server{ listen 80; #监听nginx所在的端口 #正则匹配图片的url,匹配成功后到指定root的路径下查找 location ~.*(newsapp).(appicon|appSuggest)*\.(gif|jpg|jpeg|png)$ { root D:/project/images/; autoindex on; ...原创 2020-02-27 13:04:26 · 3106 阅读 · 0 评论 -
SpringCloud之FeignClient两个服务调用不通连接超时
坑发布一个微服务架构的项目到服务器(Windows),再次发现Linux好用啊。发布的项目大概有:按照启动顺序写的注册中心Eureka - peer1注册中心Eureka - peer2配置中心Config-Server-db网关zuul业务模块服务-资讯通用业务模块服务-资讯的操作问题发生点就在于:服务5 Feign 服务6的时候报错了 feign.RetryableE...原创 2020-02-26 18:04:03 · 2182 阅读 · 0 评论 -
eclipse新建SpringMVC的helloworld
最近温习SpringMVC的基础知识,是基于eclipse开发工具上,预计划从基础动手,加深印象。万事都可以hello world,万事都是从hello world 开始的,特此记录下。新建动态项目New -> Dynamic Web Project -> 填写Project name -> Next -> Next -> 勾选 自动创建按web.xml 的...原创 2020-02-05 17:45:27 · 703 阅读 · 0 评论 -
Failed to parse multipart servlet request nested exception is java.io.IOException
bug重现发送post 请求 上传文件,接口返回了错误信息。解决与分析很明显从错误的信息里可以看出,是指定的目录 已经无效了。后来我登录到部署的Linux 服务器上查看,的确 目录不存在了。出现这种错误主要是因为 :使用HTTP POST 请求,需要建立一个临时的文件目录(比如这里的【/tmp/tomcat.4124735587175…/work/Tomcat/localhost/…...原创 2020-02-04 19:21:37 · 6879 阅读 · 0 评论 -
格式化SpringBoot里的Mapper的日期(存在时区问题2019-12-26T08:35:31.000+0000)
问题描述日期展示到前端的效果如下:解决办法出现这种问题很常见,在SpringBoot里只需要在配置文件(application.xml)里配置下 jackson 就好了。spring: jackson: # 中国北京时区 = 格林时间 + 8小时。其中GMT 代表的就是 格林时间 # 北京市 是东八区 的 ,与本初子午线上的时间,相差 8小时 time-zon...原创 2020-01-20 16:32:33 · 987 阅读 · 0 评论 -
@Aspect@Order各个通知的执行顺序
前景两个切面类:【记录日志】和【判断参数】,分别对应顺序 @Order(0) 和@Order(1) 。本文只是将重点说下 执行顺序 这么回事哈哈哈代码【业务类】/** * 登录控制器 */@Controllerpublic class LoginController { //向外面抛出异常 public void loginWithThrow(String us...原创 2020-01-09 17:34:05 · 6924 阅读 · 3 评论 -
Thymeleaf模板项目部署到正式服(Window环境)报错template might not exist or might not be accessible by any of the con
前景最近在做一个项目的管理系统,本地运行的一切正常,到了要上交任务的时刻了,兴高采烈地准备迎接最美好的周五,额,额,可是人生总要经历点啥挫折的样子,部署到 正式服武器上 ,其中有2个界面 , 响应code 500 报错信息如本文 的标题 所述。第一反应,比对了好几遍 正式环境和 本地开发环境 各种 的配置,DB 是否一样,额, 结果都是 一样的。。。继续找Bug 。。。解决办法最后发现这...原创 2020-01-03 17:22:01 · 508 阅读 · 0 评论 -
spring boot + Thymeleaf + layui table 渲染报错 Could not parse as expression: "
写layui table 的时候,渲染的时候。老是报cols 属性无法渲染,一直以为自己的接口 或者 field 有问题,查了大半天,原来是 [[]]的锅,唉感谢网友https://blog.youkuaiyun.com/u013339787/article/details/84233072小细节啊,唉转载的文中提到内联 ,的确是这样子的thymealf模板中,如果需要获取 后端的数据 ,或者 调...转载 2019-12-19 18:30:08 · 312 阅读 · 0 评论 -
文件下载做中转 ResponseEntity
文件下载做中转前景了解此文项目了解ResponseEntity实战前景了解项目需求,后端需要统计某个服务器上文件的下载次数。面对这种需求,我想在后端开发中很常见了吧~此文的大概思路就是通过给文件下载增加一个 中转链接。这个中转链接就是项目的请求,接收到请求后,可以做任何处理,最终只要把数据再以流的方式返回就好啦!此文项目此文提及的需求是,前端需要下载服务器上的app应用,统计各个app的...原创 2019-11-21 17:44:41 · 1996 阅读 · 0 评论 -
java -jar启动参数里设置file.encoding编码,解决中文乱码的一堆坑
起因:公司需要基于Jenkins平台上,进行一个批量构建的项目开发,就是个一次性可以调起多个项目的构建,额,先说点题外话,要永远都记得一点,客户都是懒得~BUG:使用jenkins-client 请求== http://jenkins服务器的域名/job/你的构建项目名/api/json ==(该接口可以获取某个项目的大部分信息),但坑人的是,本地运行不会乱码,丢到服务器上就尴尬的一批,看图...原创 2019-11-10 16:11:49 · 18544 阅读 · 5 评论 -
thymeleaf模板引擎的页面js如何获取后端传的值
DOM节点的属性里获取值,可以使用th标签 + ${这里是model的key},例如:<select name="jobName" lay-search lay-filter="jobNameFilter" lay-verify="required"> <option value="">项目名(输入可实时过滤)</option> <opti...原创 2019-11-08 23:17:14 · 1939 阅读 · 0 评论 -
com.alibaba.fastjson.JSON ,对象 转JSON字符串时,对字段名做了转换,需要注意啦
com.alibaba.fastjson.JSON对象 转JSON字符串 对字段名进行处理由于项目需求,在后端Java的实体类中,并没有严格地按照驼峰格式去命名内部变量。@Getter@Setterpublic class WebRunParam { private String PROJECT_NAME; private String APP_VERSION_CODE;/...原创 2019-11-08 22:34:29 · 1678 阅读 · 1 评论 -
nginx上的项目返回413 Request Entity Too Lar
环境:spring mvc 项目部署到 nginx 上bug现象:用户反馈说,文件上传很久都没有成功。第一反应肯定就是怀疑文件太大了,所以去捕捉了下网络请求的响应,果然解决:、查看nginx的上传配置。额,...原创 2019-11-08 16:07:44 · 153 阅读 · 0 评论 -
org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceedException
spring项目报上传文件过大的异常项目是由springboot编辑环境开发的,报错之前其中配置application.yml里相关配置:spring: thymeleaf: mode: HTML encoding: utf-8 cache: false servlet: multipart: max-file-size: 1...原创 2019-11-07 17:06:38 · 2367 阅读 · 0 评论