Jboot 是一个基于 JFinal、JFinal-Undertow、Dubbo 等开发的微服务框架,帮助开发者降低微服务开发门槛。同时完美支持在 idea、eclipse 下多 maven 模块,对java代码、html、css、js 等资源文件进行热加载,爽爽的开发。
Jboot 2.0 第一个正式版的推出,经历了10+个版本超过三个月的迭代,同时基于 Jboot1.x 70+个版本的发布,已经非常稳定,可以适用于与任何商业版本。
Fescar 是阿里开发的微服务架构的分布式事务解决方案,Jboot 基于 Fescar 提供的分布式事务功能,前只支持 Dubbo 环境下的分布式事务自动回滚(晚点回添加对 Motan 等其他 RPC的支持),只需要在 Controller 或者 Service 的方法里添加 @FescarGlobalTransactional 注解 ,方法内部涉及到的多个 RPC 远程调用自动有了 分布式事务 的功能,非常的简单明了。
代码如下:
@RequestMapping("/your/mapping")public class MyController extends JbootController {@RPCInjectprivate Service1 service1;@RPCInjectprivate Service2 service2;@RPCInjectprivate Service3 service3;@FescarGlobalTransactionalpublic void index() { service1.doSomeThing(1); service2.doSomeThing(2); service3.doSomeThing(3); renderText("....");}
在以上代码中,由于 index()
方法添加了 @FescarGlobalTransactional
注解,其方法内部的 RPC 调用中,当任何一个 Service 发布错误的时候,其他 Service 自动进行回滚。
测试的 simple 在
这部分的代码提供和测试, 都给与了非常大的支持和帮助,非常感谢,Jboot 发布了近 100 跟版本里,离不开每位像 的同学。
Jboot v2.0.1 更新内容如下:
- 新增:Fescar 分布式事务的支持,只需要一个 @FescarGlobalTransactional 注解即可完成分布式事务,感谢
- 新增:代码生成器的 remarks 生成的功能
- 优化:重构 FixedInterceptor,在其方法传入 Invocation 即可,而不是 FixedInvocation,方便拦截器在 Controller 和 Aop 层的复用。
- 修复:html、css、js 的热加载功能 当缺少commons-io的依赖会出错的问题
- 修复:@EnableCORS 开启跨域请求功能,在某些情况下不起作用的问题
Maven 依赖:
io.jboot jboot 2.0.1
Hello World
@RequestMapping("/")public class HelloworldController extends JbootController { public void index(){ renderText("hello world"); } public static void main(String[] args){ JbootApplication.run(args); }}
更多Jboot的功能,可以移步:
另外,JPress 是一个使用 Jboot 开发的类似 WordPress 的产品,更多了解请移步: