Jboot v3.0.3 正式版发布,基于 JFinal 的微服务框架

Jboot 是一个基于 JFinal、JFinal-Undertow、Dubbo 等开发的微服务框架,帮助开发者降低微服务开发门槛。同时完美支持在 idea、eclipse 下多 maven 模块,对 java 代码、html、css、js 等资源文件进行热加载。爽爽开发,快乐生活。

PS : Jboot 3.0 版本是一个全新的版本,2.x 可以无缝升级到 3.0。

相对 Jboot v2.x 而言, Jboot v3.0 主要的变化如下:

  • 1、升级 Dubbo 到 Apache 最新版本
  • 2、升级分库分表框架 Sharding-jdbc 到 Apache 4.0 正式版
  • 3、升级分布式事务框架 Seata 到最新版本(正式版)
  • 4、新增基于 Sentinel 的分布式限流和降级框架
  • 5、新增基于携程 Apollo 和 阿里 Nacos 分布式配置中心的支持
  • 6、完善对 Columns 的查询方法,支持 join、group、string 等常用出查询
  • 7、对 v2.0 其他细节的 bug 修复

在 Jboot v3.0 中,通过 join 方法我们可以进行如下的查询:

/**
*查询所有用户,left join 文章表
*/
public List<User> findList(){
   DAO.leftJoin("article").on("user.id = article.user_id")
      .rightJoin("...").on(".....")
      .findAll();
}

/**
* 根据用户年龄和文章标题查询
*/
public List<User> findListBy(int userAge,String title){
   DAO.leftJoin("article").on("user.id = article.user_id")
      .rightJoin("...").on(".....")
      .findByColumns(
        Columns.create()
                .ge("user.age",userAge)
                .like("article.title",title)
        );
}

Jboot v3.0.3 更新内容如下:

  • 新增:Cache 模块新增 refresh() 的方法,在分布式缓存在某些极端情况下出现不同步的时候进行刷新。
  • 新增:对 Columns 优化,新增 gourpIf()/stringIf()/isNullIf() 等方法
  • 新增:新增 PrimaryKeyValueGenerator 对 Model 的主键值生成策略配置
  • 新增:新增 JbootModelFilter 对 Model 的过滤器策略配置,可以用于在 save 或者 update 的时候防止 Model 存在 xss 等问题
  • 新增:StrUtil 新增 splitToSetByComma() 方法
  • 新增:StrUtil 新增 escapeModel() 和 escapeMap() 方法
  • 优化:对 MQ 进行优化,当不配置的时候可能返回一个错误的 MQ 对象的问题
  • 优化:升级 JFinal-Wexin、Fastjson、Fastxml 等依赖到最新版本
  • 优化:JbootDirectiveBase 当传入空值的时候明确返回 null
  • 优化:StrUti.isDecimal() 方法,防止在某些极端情况下出现判断不正确的问题
  • 优化:对 pom.xml 进行优化,排除非必要的依赖
  • 优化:重构 Sentinel 模块,修改为非必须依赖
  • 修复:当 Columns 查询的时候,使用 group 会出现 value 内容缺失的问题

maven 依赖:

<dependency>
    <groupId>io.jboot</groupId>
    <artifactId>jboot</artifactId>
    <version>3.0.3</version>
</dependency>

Hello World:

@RequestMapping("/")
public class HelloworldController extends JbootController {

    public void index(){
        renderText("hello world");
    }

    public static void main(String[] args){
        JbootApplication.run(args);
    }
}

猜你喜欢

转载自www.oschina.net/news/113848/jboot-3-0-3-released