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


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

查看所有标签

猜你喜欢:

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

个体与交互

个体与交互

Ken Howard、Barry Rogers / 贾永娜、张凯峰 / 机械工业出版社华章公司 / 2012-3-20 / 45.00元

对敏捷软件开发的关注重点,通常都集中在“机制”方面,即过程和工具。“敏捷宣言”认为,个体与交互的价值要高于过程和工具,但这一点很容易被遗忘。在敏捷开发中,如果你重新将注意力放在人的方面,将会收获巨大利益。 本书展示了如何解决敏捷团队在实际项目中遭遇的问题。同时,本书也是很有实用价值的敏捷用户指南,其中包含的故事、最佳实践方法、经验以及技巧均可应用到实际项目当中。通过逐步实践,你将学会如何让团......一起来看看 《个体与交互》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具