JRouter
一个围绕对象方法基于责任链(拦截器)模式设计的
开源轻量级Java容器。
专注于方法的映射、调用、拦截和结果处理,采用基于配置和注解的方式来抽取和收集程序中对象的方法(method)以用于路由映射,
HTTP控制器,RPC,各种应用等。
特点
理念
计算机本质为 input -> output,程序的主要基本要素为 变量/方法。
简而言之,我们一直在重复做着 一件事:
var function(var) 亦或 Result Method(Parameters[])。
因而,方法(Method)是关注的核心;围绕 Method调用展开流程。
设计
针对方法,提供基于注解 (@Annotation)的配置:
- 命名空间(Namespace)
- 行为(方法)定义(Action)
- 拦截器(Interceptor)
- 拦截栈(InterceptorStack)
- 结果对象(Result)
- 结果类型(ResultType)
方法调用流程
简单易用
- 一个jar包(160+KB),基本无依赖(仅需 slf4j),兼容 jdk 1.8+。
- 提供快捷地与 springframework集成。
- 完全开源, Apache License, Version 2.0, 支持Maven。
性能 / 安全
- 快速地方法调用,方法缓存。
- 默认提供基于 javassist 的字节码增强。
- 类似大多数框架,容器初始化封装数据后趋于一个稳定状态,对外接口只提供不变数据,方法调用接口不影响内部数据,因而是线程安全的。
- 努力完善的 各种测试。