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

栏目: 软件资讯 · 发布时间: 4年前

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

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);
    }
}


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

iOS游戏编程之从零开始

iOS游戏编程之从零开始

李华明 / 2013-2 / 59.00元

《iOS游戏编程之从零开始:Cocos2d-x与cocos2d引擎游戏开发》是作者继《android游戏编程之从零开始》热销之后编写的又一本、基于cocos2d—x2.x和cocos2d—iphone版本,讲述ios平台游戏开发的新作。《iOS游戏编程之从零开始:Cocos2d-x与cocos2d引擎游戏开发》分为两个部分共11章,内容主要包括cocos2d—x引擎游戏开发的基础,常用的类、方法及......一起来看看 《iOS游戏编程之从零开始》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器