- 博客(189)
- 问答 (1)
- 收藏
- 关注
原创 SpringBoot-Controller入参去除前后空格
面临测试需求存在着用户输入的参数前后空格需要统一做去除,所以找个通用的解决方案进行统一处理。若需要处理一些特殊字符,例如%字符会穿透like查询查出所有记录的解决方案,可以参考该文,
2023-05-08 16:41:54
3039
原创 curl命令漫谈
curl 是一种的命令行工具,用来请求 Web 服务器。它的名字实际上就是客户端(client)的 URL 工具的意思。通常,我们也会使用该命令进行服务器接口请求。
2023-05-08 15:43:17
538
原创 使用javassist进行magic-api增强改造
什么是magic-api,推荐查看官网https://www.ssssssss.org/magic-api/目前遇到需要扩展magic-api的properties,而源码并不支持在左侧列表树接口中返回properties属性。
2023-05-01 09:00:00
648
原创 Java读取传输FTP文件方案-源码分享
上述源码仅供参考,具体需根据实际业务需求进行调整。主要注意点为读取中文文件名的文件以及获取ftpClient文件流之后的处理,已标注在注释中,希望能够帮助读者少踩坑。基于ftp协议的文件变化主动监听FTPSClient解决无法获取文件问题(listFiles为空)ftpClient.retrieveFileStream导致FTPClient的后面操作失败。
2023-04-23 10:18:39
894
原创 mybatis-plus的分页/插件分析
正常sql的limit分页逻辑我们已经司空见惯,但是对于mp里的默认分页方法进行深入分析有助于我们了解mp框架,实际上也是使用了拦截器的拦截功能,并进行相关的增强作用。mybatis-plus分页查询详解Java干货丨手撕MybatisPlus分页原理。
2023-02-09 14:48:06
2370
原创 我的创作纪念日
我还能回想起写这篇博客的那个夜晚,那个时候我刚毕业没多久,在杭州也是刚搬了一次家,那是个夏天,其实天已经不早了,大概已经凌晨1点了,外面虫鸣声此起彼伏,我在书桌前调整着文字,先是发给了我的同事一份安利他去尝试一下油猴脚本,然后在确定没有明显错别字之后点了发布按钮。不过那并没有打击我,写博客开始慢慢成了习惯,自然而然地想把工作过程中遇到的难题以及解决方案分享出去,也算是一种记录,以后自己再遇到同样的问题可以规避,也可以让看到的读者少踩坑。因为晦涩难懂的专业知识并没有让我感兴趣,所以我想毕业后就从事其他工作。
2023-01-30 20:20:23
283
原创 maven的build节点配置
虽然一直在使用maven,但是对于maven的配置还没有深入的了解过。本文以build节点为切入点,主要解释相关maven打包使用到的一些基础配置。
2023-01-17 16:07:08
2117
原创 java-函数式编程浅谈
以数学中的函数作为切入点,只关注参数之间的运算满足某种规则,例如z=x+y。}没错,定义一个BinaryOperator函数一行就能解决,就是如此优美(不过需要注意的是jdk8及以上才支持这种写法)。带着欣赏的角度,我们继续深入理解函数式编程的魅力。
2022-12-19 11:15:00
590
2
原创 Sa-Token浅谈
官网介绍的非常详细,主要突出这是一个轻量级鉴权框架的特点,详情可自行访问:https://sa-token.dev33.cn/doc.html#/
2022-12-14 17:24:48
5424
原创 SpringSecurity主要流程及扩展实现
SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。个人理解就是一个用户请求过来,过滤器就像漏斗一样进行层层筛选,直到检验用户请求合法则放通否则失败。
2022-12-09 16:07:14
1047
1
原创 CSDN 云IDE产品测评
云IDE是CSDN开发云为开发者打造的一款低代码开发产品,云端预制了常见的开发环境,无需下载安装,一键创建项目,灵活配置代码仓和云主机。同时支持在线安装 VSCode 插件来增强使用体验,支持从基础组件快速构建高阶组件,无需重新编写组件,提高研发效率。随时随地开发编码,拥有媲美本地IDE 的流畅编码体验。
2022-10-27 14:13:18
455
原创 Java泛型漫谈
泛型是JDK5引入的新特性,本质是参数化类型。在定义的时候无需知道参数的具体类型,即将参数类型推迟到使用时决定。这种参数类型可以体现在类,接口,方法中,我们可以称呼为泛型类,泛型接口,泛型方法。
2022-10-27 11:18:31
582
原创 springsecurity-shiro获取登录用户详解
SpringSecurity与Shiro实现原理类似。Shiro更轻量,SpringSecurity与Spring结合度更高也更复杂。安全认证之SecurityContextHolderSpringSecurity登录用户数据获取Spring Security 详解Shiro - Shiro简介;Shiro与Spring Security区别;Spring Boot集成Shiro。
2022-10-26 11:04:52
5150
原创 springboot集成mybatis-plus遇到的坑(改造ruoyi-vue)
RuoYi-Vue是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源,支持分布式事务。以上来自官网介绍,总之是一个脚手架功能的开源框架。具体内容详见官网:https://doc.ruoyi.vip/ruoyi-vue/
2022-10-25 14:01:43
1904
4
原创 实现全局异常处理
通常,我们除了描述jdk默认的异常之外,还会自定义契合业务主体本身的业务异常。} }/*** 自定义异常return AjaxResult . error("自定义异常被捕获");}实际场景中,我们为了方便管理异常情况,通常会定义一个异常结果枚举类,然后自定义异常只需要传入对应枚举类参数即可。接下来提供一套完整的实战环境下的异常处理以供参考,首先定义一套参考的枚举类(参考自GitHub仓库-miaosha:https://github.com/qiurunze123/miaosha)
2022-10-24 11:22:48
2805
原创 SpringBoot源码分析
环境信息就是profiles和配置文件以及系统环境信息的封装,在开发过程中我们根据官方指南和经验得知一个profile是有一套配置信息的,那么它的功能实现肯定是首先获取profile,然后再获取配置。但是我们在环境对象创建的时候发现它已经初始化了4个配置集,并且包含了系统配置(当前应用所运行的载体的配置信息)。初始化BeanDefinitionLoader:通过观察它的内部属性和构造方法可以看出,它支持加载基于编程方式配置的类,支持xml文件配置的类,支持groovy和xml混合定义的类的加载。
2022-10-23 15:18:46
176
原创 PlantUML使用入门
PlantUML是一个可以让你快速编写UML图的组件。官网说明如上,它可以实现很多种图的绘制,而且只要学会一些简单的语法,几分钟就能画出一个简单的效果图。
2022-10-21 09:47:42
6788
原创 Xshell导入导出会话
配置好的xshell会话面临需要迁移到另一台机器上的需求,如果手动逐个重新配置那就太糟糕了,所以此文作为迁移步骤的相关记录,以供参考。
2022-09-20 10:30:48
10771
6
原创 Nacos使用(四)
目前代入实际微服务分布式架构的电商场景中,假设micro-service-1实现库存扣减,micro-service-2实现钱包扣款,下单付款需要依次调用micro-service-1以及micro-service-2。由于这两个微服务是互相独立隔绝的,且操作的数据库都不是同一个库,使用数据库本身的事务就无法满足了,很容易出现库存扣减了但是钱包没有扣款或者钱包扣款了但是库存没有扣减的情况。比较有意思的是,一般情况下解决不了的事情通常都是引入第三方来进行解决。
2022-08-19 16:20:54
695
原创 Nacos使用(三)
当流控被捕获的时候,我们想要自定义一个异常返回,有两种方式:return Result . of("这是一个自定义的流控捕获异常哦~");}自定义单独的异常处理类return Result . of("CustomBlockHandler->自定义异常处理");} }在controller中的@SentinelResource注解增加一个blockHandlerClass属性/*** 自定义通用的限流处理逻辑return Result . of("自定义限流");}...
2022-08-17 14:59:30
670
原创 dubbo漫谈(一)
Apache Dubbo 是一款微服务框架,为大规模微服务实践提供高性能 RPC 通信、流量治理、可观测性等解决方案,涵盖 Java、Golang 等多种语言 SDK 实现。主要为了实现生产环境中单体服务无法满足日趋增长的访问量所做的横向扩展,使用以下粗略的草图来表示使用dubbo前和使用dubbo后的区别:(简单表示单点服务)(引入dubbo/zookeeper后)......
2022-08-05 16:18:23
381
原创 排查生产环境:MySQLTransactionRollbackException数据库死锁
至此,本次MySQL线上死锁问题就已结束排查。由于线上问题一般都比较复杂或者比较难复现,所以排查线上问题首先需要分析日志,这个时候就要求我们程序的日志要尽可能做到完善。然后就是大胆猜测,小心验证,其中不免会经历多次推到重来的历程。此后该问题再次出现就不会再成为你的问题。记一次生产环境Java服务synchronized死锁的处理过程注意Synchronized与@Transactional不能在同一方法上使用的bug@transactional和synchronized同时使用不能同步的问题。......
2022-08-02 13:48:58
8515
原创 java实现监听每个服务的RT
响应时间(responsetime简称RT)是从系统接收请求开始到返回响应之间的时间跨度,是一项极其重要的性能指标。它可以从侧面反映系统的整体吞吐量,也是业务请求的性能好坏的判断依据。
2022-07-27 20:38:11
892
空空如也
angular前端web项目的IE内核支持
2019-02-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅