Jboot 是一个基于 JFinal、JFinal-Undertow、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的微服务框架,帮助开发者降低微服务开发门槛。同时完美支持在 idea、eclipse 下多 maven 模块,对 java 代码、html、css、js 等资源文件进行热加载。爽爽开发,快乐生活。
在 Jboot v3.3.4 中,Jboot 新增了 JbootActionReporter 用于代替 JFinal 的 ActionReporter ,方便的对 Controller (包括拦截器)方法进行定位,如下图:
当有这个功能以后,我们点击此 控制台 链接,可以直接跳转到对应的方法,这样我们在开发的时候,更加方便我们对请求信息进行快速定位,更加急速的开发。
但是,在很多场景下,我们需要知道这个请求需要执行的时间,这样更加方便我们对问题进行定位,因此,我们继续增加了某个请求需要时间的打印,如下图:
在以上的截图中,IndexController 有 5 个拦截器,但是很多时候,并不是所有拦截器都会被执行,可能只有 一两个 个拦截器被执行了,其他拦截器并没有执行到,在之前的方案里,通过控制台的日志,并不会知道哪些拦截器被执行了,哪些没有被执行。
所以,Jboot v3.3.6 提供了一个功能,如果当前的拦截器没有被执行到,那么就在日志里输出出来。
如下图所示:
这样,我们能够看到,当我们访问 /admin 的时候,实际上只执行了 3 个拦截器,第 4 和 第 5 个拦截器并未被执行,就跳转到了 /admin/login 了,同时通过日志,我们也能分析出来:跳转到 /admin/login 的这个行为,是最后一个拦截器 AdminInterceptor 执行的。
目前已经开源超过了 3 年的时间,迭代了 100+ 个版本,已经被超过 1000+ 公司在使用。
Jboot 主要有以下特征:
- 1、基于 JFinal 的 MVC + ORM 快速开发。
- 2、基于 ShardingSphere + Seata 分布式事务 和 分库分表。
- 3、基于 Dubbo 或 Motan 的 RPC 实现
- 4、基于 Sentinel 的分布式限流和降级
- 5、基于 Apollo 和 Nacos 的分布式配置中心
- 6、基于 EhCache 和 Redis 的分布式二级缓存
Jboot v3.3.6 更新内容如下:
- 修复:通过门户网关下载文件 或者 渲染图片可能出现乱码的问题
- 优化:重构 Http 工具类里的 HttpRequest 里的某些方法
- 优化:增强 JbootActionReporter 功能,使之可以输出未被执行的拦截器 以及 Controller 的执行时间
maven 依赖:
io.jboot jboot 3.3.6
Hello World:
@RequestMapping("/")public class HelloworldController extends JbootController { public void index(){ renderText("hello world"); } public static void main(String[] args){ JbootApplication.run(args); }}