![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 83
喵喵爱西瓜
这个作者很懒,什么都没留下…
展开
-
spring API扫描插件
1. 简介本项目是基于gamma的一个插件gammagithubcsdn本项目是用来扫描一个spring的项目中有多少个Api接口,然后收集这个API接口的入参/出参信息统计后通过http发送给后端服务项目地址:github1.1 使用场景在微服务背景下 服务之间有大量的RPC,那么当下游服务接口更变后没有及时通知到对应的上游服务,就会导致上游接口报错那是否可以在CI流水线中采集已经打包好的业务JAR的接口,然后把采集到的信息都统一交给一个服务储存,如果发现有服务的接口发生原创 2021-07-19 12:01:15 · 666 阅读 · 0 评论 -
高效可扩展的 jar 扫描工具: gamma
1. 简介本项目是一个jar包扫描工具,可以支持插件化订制不同的扫描逻辑支持以下功能:插件化订制扫描逻辑,让扩展更加容易将扫描到的文件加载到jvm中以class的形式返回给处理插件,让扫描逻辑写起来更加的容易支持springBoot jar 的扫描项目地址:gamma扫描器1.1 用途设计gamma的初衷是为了能在ci流水线中快速的检查已经打包好的的业务jar,并且能轻易的扩展扫描器的功能,以及和业务解耦1.2 为什么不去扫描java文件对于语法检查等checkstyle插件确实直原创 2021-07-19 11:57:36 · 1732 阅读 · 5 评论 -
JAVA轻量级高性能AOP框架 ----- gordian
1. 简介1.1 项目地址传送门1.2为什么造这个轮子博主太闲了现在的spring aop 已经非常的完善了,但是却有以下几个小缺点当引入了太多第三方jar 后,Pointcut 的定义被分散到了不同的 jar, 你可能不知道在你的业务方法在执行之前会去执行多少方法,这些方法都会干什么。比如@Transactional 注解,大家都知道他的原理就是 aop,那么我想看看里面他会在我方法执行前,执行后做了什么,就需要去翻文档才能知道他执行aop的类在哪里,这算不错的体验了,那如果是你接手了一个古原创 2020-08-29 18:16:52 · 2013 阅读 · 2 评论 -
skywalking线程池插件,解决lambda使用问题
1. 简介分布式链路追踪其实原理都很简单,每一个请求过来的时候,把一个context存到ThreadLocal里面,然后随着线程一路传递下去就行,一个请求大多数时候都是一个线程去执行下去所以并没有什么问题,但是如果在请求中使用了ThreadPool那么ThreadLocal中的context就会失联(如果使用的是Thread,ThreadLocal是可以继续传递下去的,具体原因可以去看ThreadLocal和ThreadPool的实现这里就不过多解释了),所以需要插件的支持去把这个失联的context给找原创 2020-05-20 16:35:54 · 7164 阅读 · 17 评论 -
JPA 原生SQL分页查询,踩坑记录
1. 问题简述JPA 分页查询这个很简单,只要在接口上加上一个参数 Pageable比如但是 仔细看 我自定义的 SQL 这里用了 a.* 来只获取一张表的字段.但是他生成的 SQL 语句就成了.这样就导致了 查询异常.2 . 解决方案1 . 指定count的字段在@Query 注解中添加一个参数然后,生成的SQL语句就是...原创 2019-05-27 21:00:55 · 4235 阅读 · 6 评论 -
自定义spring boot-starter,实现自动配置,自定义注解扫描注入(类似dubbo-starter)
1. 简介 本文,自定义starter是为了扩展 之前自己写的一个RPC框架,所以本文的案列 就是在这个RPC框架之上,实现自动配置 传送门 :手写RPC框架博主现在想把这个 RPC框架封装成一个 starter,实现以下功能1 . 在maven 引入对应starter 实现自动配置,yaml文件的参数自定义2 . 在项目启动时,扫描 打了 自定义注解@Chy...原创 2019-05-17 17:25:44 · 6077 阅读 · 3 评论 -
手写实现RPC 框架
1.项目架构 一个简易的rpc框架,别的先不多说上githubhttps://github.com/cao2068959/chyrpc20 注册中心 : zookeeper (使用curator 操作) 通信框架: netty (4.1.25版本) 序列化: kryo以下只写了大体项目流程,以及展示部分代码,具体请...原创 2019-05-17 15:06:20 · 785 阅读 · 0 评论 -
嵌入式tomcat分析,并手写加载springMvc
1. 简介spring boot的嵌入式容器用起来很爽,所以博主也想搞一个类似可以不依赖外部容器的轮子.虽然可以直接用maven的插件tomcatX-maven-plugin 完成,但是高版本的更新太慢,所以有了以下的轮子.2. tomcat结构介绍为什么要先放这张图嗯,因为嵌入式的tomcat API 设计也是按照这个结构设计的.博主并不想看他的API文档,想靠这张图猜一下他...原创 2019-05-03 00:17:12 · 1667 阅读 · 12 评论 -
手写springMVC
1. 简介 spring全部手写的过程,原理,设计模式 在博客里阐述,这是个浩大的工程.同时我也相信你是基本不能看到最后的.这里博主写了个简易的springMvc.代码比较简单.而且都写了注释,我想比看博客看我BB,要简单的多.废话就不多说了,上github2.项目介绍项目地址 :https://github.com/cao2068959/ChySpring2.0....原创 2019-04-07 23:07:46 · 269 阅读 · 0 评论 -
jdk动态代理实现原理,并造一个类似的轮子
1. JDK动态代理最小案例JDK 动态代理干什么 怎么用,我想并不需要复述,这里快速贴上本案列的代码委托类:public class Xiaobai implements House { @Override public void buy() { System.out.println("我是小白,我要买房"); }}委托接口:p...原创 2019-03-23 23:03:49 · 256 阅读 · 0 评论