框架
文章平均质量分 88
mumubili
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OpenRewrite框架原理解析
本文主要对OpenRewrite框架设计和原理进行解析,分析OpenRewrite框架中是如何运用访问者模式进行架构设计的,然后进一步分析访问逻辑的具体执行过程,以便更清楚的掌握OpenRewrite内部执行机理,拨开云雾见月明,进而更好的指导OpenRewrite开发实践。原创 2024-03-21 23:53:28 · 1751 阅读 · 0 评论 -
OpenRewrite:实现一个简单的配方(Recipe)
本文在前面文章理解OpenRewrite的基础之上,通过实现一个简单的配方(Recipe),能够更直观的熟悉OpenRewrite的开发流程,同时起到很好的带入作用,能够更快的上手实践。下面以配方SayHelloRecipe如何针对目标类添加一个hello()方法进行举例说明;原创 2024-03-15 14:40:46 · 2514 阅读 · 0 评论 -
大规模自动化重构框架--OpenRewrite浅析
OpenRewrite是一个用于大规模自动化代码重构的框架,通过帮助开发人员自动化地进行代码重构和转换,大大提升了研发效率。本文主要对OpenRewrite进行简要介绍,更详尽的说明可以参加OpenRewrite官网。原创 2024-03-12 15:58:21 · 4298 阅读 · 0 评论 -
Shiro框架:Shiro用户访问控制鉴权流程-内置过滤器方式源码解析
Shiro作为一款比较流行的登录认证、访问控制安全框架,被广泛应用在程序员社区;Shiro登录验证、访问控制、Session管理等流程内部都是委托给SecurityManager安全管理器来完成的,SecurityManager安全管理器前面文章已经进行了详细解析;在此基础上,上篇文章已对Shiro用户登录认证流程进行了源码跟踪,本篇文章继续对下一个核心流程---用户访问控制鉴权流程进行源码解析;原创 2024-01-18 00:34:28 · 2329 阅读 · 0 评论 -
Shiro框架:Shiro用户访问控制鉴权流程-Aop注解方式源码解析
Shiro作为一款比较流行的登录认证、访问控制安全框架,被广泛应用在程序员社区;Shiro登录验证、访问控制、Session管理等流程内部都是委托给SecurityManager安全管理器来完成的,SecurityManager安全管理器前面文章已经进行了详细解析;在此基础上,前面文章已对Shiro用户登录认证流程进行了源码跟踪,对Shiro用户访问控制鉴权流程-内置过滤器方式进行了详细解析;本篇文章继续对用户访问控制鉴权流程-Aop注解方式进行源码解析,了解不同的使用方式以便更好的应用到实际项目中。原创 2024-01-20 19:24:38 · 1344 阅读 · 0 评论 -
Shiro框架:Shiro用户登录认证流程源码解析
Shiro作为一款比较流行的登录认证、访问控制安全框架,被广泛应用在程序员社区;Shiro登录认证、访问控制、Session管理等流程内部都是委托给SecurityManager安全管理器来完成的,SecurityManager安全管理器上篇文章已经进行了详细解析,详见:Shiro框架:Shiro SecurityManager安全管理器解析-优快云博客,在此基础上,本篇文章继续对Shiro关联链路处理流程之一---登录认证流程进行解析;原创 2024-01-14 18:14:31 · 2687 阅读 · 0 评论 -
Shiro框架:Shiro SecurityManager安全管理器解析
Shiro作为一款比较流行的登录认证、访问控制安全框架,被广泛应用在程序员社区;Shiro登录验证、访问控制、Session管理等流程内部都是委托给SecurityManager安全管理器来完成的,在前述文章全面解析Shiro框架原理的基础之上,详见:Shiro框架:ShiroFilterFactoryBean过滤器源码解析-优快云博客、Shiro框架:Shiro内置过滤器源码解析-优快云博客,本篇文章继续深入解析Shiro SecurityManager安全管理器的结构和功能。原创 2024-01-13 17:22:58 · 2537 阅读 · 0 评论 -
Shiro框架:Shiro内置过滤器源码解析
Shiro框架作为登录鉴权安全模块一款较为流行的开源框架,通过简单的配置即可完成登录鉴权配置,其中离不开Shiro较为丰富、且简单易用的内置过滤器,本文主要对Shiro多种内置过滤器进行源码解析,方便更好的深入透析其执行原理;原创 2024-01-12 16:22:50 · 1616 阅读 · 0 评论 -
cola架构:cola源码中访问者模式应用浅析
访问者(Visitor)模式:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。访问者模式包含的类/接口如下:抽象访问者(Visitor):定义一个访问具体元素的接口,为每个具体元素类对应一个访问操作 visit() ,该操作中的参数类型标识了被访问的具体元素。具体访问者(ConcreteVisitor):实现抽象访问者角色中声明的各个访问操作,确定访问者访问一个元素时该做什么。原创 2023-10-25 20:08:20 · 1260 阅读 · 0 评论 -
cola架构:有限状态机(FSM)源码分析
cola状态机采用无状态设计,不存储中间状态,重点关注状态之间的转移,这样的设计使得cola更加的简单、轻量、易于上手,在高并发多线程场景下应用单例模式可以实现更高的性能;上述cola状态机语义模型的源码就解析完成了,在实际使用时,需要将语义模型进行组合构造编排,这里是通过Builder模式来完成的,下面进行展开说明;至此,状态机实例、状态机包含的状态、状态关联的所有转移都构造完毕,后续就可以通过状态机的触发方法fireEvent完成状态转移了。原创 2023-10-25 12:33:03 · 1629 阅读 · 0 评论 -
EasyRule源码:工厂方法模式之规则创建源码分析
本文主要对EasyRule框架中应用的工厂方法模式---规则创建进行源码解析;原创 2023-10-21 15:12:09 · 685 阅读 · 0 评论 -
cola架构:一种扩展点的实现思路浅析
在实际项目中,我们经常使用策略模式、或者状态模式来隔离同一接口下不同的实现逻辑,进而消除代码中ifelse硬编码分支,使代码结构更清晰,也大大提升了代码可读性;同时也满足了“开闭原则”,具备更高的可扩展性;在cola架构中,给出了一种“扩展点”的思路,本质还是策略模式的实现方式,通过“扩展点注解”的组装方式将策略模式实现类注册到容器中,供后续场景逻辑决策使用;原创 2023-10-15 16:21:03 · 2593 阅读 · 0 评论 -
Spring源码:调度框架EnableScheduling&Scheduled源码解析
在实际项目开发中,有时会遇到定时调度的开发需要,这部分的功能在Spring框架中给出了较好的支持,即@EnableScheduling&Scheduled定时调度框架,本着不仅知其然还要知其所以然的指导思想,下面对该调度框架进行源码解析,以便更好的理解其执行过程;原创 2023-06-26 00:26:09 · 1154 阅读 · 0 评论 -
Aviator源码:Aviator表达式引擎执行过程源码分析
本文通过if语法的引导,着重分析了aviator源码执行过程,主要的技术点包括:asm字节码技术动态生成class、LambdaFunctionBootstrap构造和设计理念以及LambdaFunction函数的构造和设计理念等原创 2023-06-15 13:18:08 · 3219 阅读 · 2 评论 -
Guava Cache源码:从特性说起剖析Guava Cache源码实现
目录1.CacheBuilder1.1 缓存属性1.2 缓存构造1.2.1 LocalManualCache类1.2.2 LocalLoadingCache类2. LocalCache类2.1 LocalCache的构造2.1.1 EntryFactory工厂类2.1.2 Segment[] segments域字段,>2.1.3 Segment属性与构造函数2.2 LocalCache核心接口实现2.2.1 put流程2.2.2 get流程2.2原创 2022-03-26 12:49:05 · 1323 阅读 · 0 评论 -
Mybatis源码:Mybatis配置解析过程源码分析
目录0.伏笔1.SqlSessionFactory2.SqlSession3.SqlSessionFactoryBean0.伏笔本篇主要介绍下Application在启动的时候,mybatis配置文件的解析过程,Dao类以及mapper.xml和Sql注解的解析过程,总结来说就是Configuration配置类的构造解析过程;下面主要以项目中常见的SqlSessionFactory工厂类的典型构建过程为总体脉络来进行分析;@Beanpublic SqlSessionFa.原创 2021-08-13 15:36:23 · 356 阅读 · 0 评论 -
Mybatis源码:Mybatis一二级缓存源码分析
目录1.缓存的开启2.缓存的创建3.缓存执行逻辑1.缓存的开启缓存开启的设置可以在mybatis配置文件<Properties>中进行设置,默认是开启的;解析配置文件的代码如下:该cacheEnabled缓存开启的总开关,当cacheEnabled为true时,默认开启了一级缓存;二级缓存的开启需要在mapper.xml中设置<cache/>节点(也支持注解的方式),同时一级缓存是局部于SqlSession中的,SqlSession关闭就会回收;二级缓原创 2021-08-13 15:24:00 · 237 阅读 · 0 评论 -
Spring源码:Spring EL表达式源码分析
目录1.EL表达式处理过程1.1 根据EL表达式字符串构建抽象语法树(ast)1.2 构造标准评估上下文对象StandardEvaluationContext1.3 利用标准评估上下文对象StandardEvaluationContext解析EL表达式语法树2.Spring框架中如何使用到EL表达式3.应用EL表达式的条件注解@OnExpressionCondition1.EL表达式处理过程首先看一下EL表达式在代码中的使用方式:BeanExpressionContex原创 2021-08-05 15:19:18 · 2002 阅读 · 0 评论 -
Aviator源码:从具体实例看Aviator属性语法糖源码分析(a.b.c)
1.从测试入手直观看aviator特性a.b.c测试代码如下:public class BillingEngineTest extends TransactionalTestBase { @Test public void test() { Student student = new Student(); student.setName("张三"); student.setAge(20); student.setBir原创 2021-08-04 16:00:16 · 2093 阅读 · 1 评论 -
Mybatis Generator源码:Generator自动生成框架
目录0. 使用方法1. 配置文件定义2. Generator框架解析过程分析2.1 ConfigurationParser配置文件解析2.2 MyBatisGenerator自动生成过程分析我们都知道mybatis对于Dao接口中的方法具体实现方式有两种:一种是基于注解的方式 另一种是以及xml 动态SQL的方式其中基于xml实现的方式,自己手写麻烦复杂,很容易出问......原创 2019-10-20 16:24:20 · 1154 阅读 · 0 评论
分享