Jboot v3.14.3 发布,基于 JFinal 的微服务框架

Jboot 一个更简单的分布式、微服务框架。

Jboot是一个基于 JFinal、JFinal-Undertow、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的微服务框架,帮助开发者降低微服务、分布式开发门槛。爽爽开发,快乐生活。

支持 JDK8~JDK17。

Jboot v3.14.3 主要是优化细节,并新增了一个 JSON 解析工具类 JsonUtil,用于解析 Json 数据,可能是市面上最好用的 Json 解析工具。Talk is cheap...

假设 JSON 内容如下:

{
  "array": [
    1,
    2,
    3
  ],
  "type": true,
  "number": 123,
  "users": [
    {
      "id": 1,
      "nickname": "Michael"
    },
    {
      "id": 2,
      "nickname": "Jean"
    }
  ],
  "key1": {
    "key2": "welcome to WWW.CodeFormat.CN"
  }
}
Boolean type = JsonUtil.getBool(json,"type");
//type == true


BigInteger n = JsonUtil.getBigInteger("number")
// n == 123


String[] array = JsonUtil.get(json,"array",String[].class)
//array == ["1","2","3"]


int[] array = JsonUtil.get(json,"array",int[].class)
//array == [1,2,3]


 Map map = JsonUtil.get(json,"object",Map.class)
//map == {"a":"b","c":"d","e":1}


int x = JsonUtil.getInt(json,"array[1]");
// x == 2


String key = JsonUtil.getString(json,"key1.key2");
// key == "welcome to WWW.CodeFormat.CN"


User[] users = JsonUtil.get(json,"users",User[].class)
// users == [{"id":1,"nickname":"Michael"},{"id":2,"nickname":"Jean"}]


List<User> users = JsonUtil.get(json,"users",new TypeDef<List<User>>())
// users == [{"id":1,"nickname":"Michael"},{"id":2,"nickname":"Jean"}]


Set<User> users = JsonUtil.get(json,"users",new TypeDef<Set<User>>())
// users == [{"id":1,"nickname":"Michael"},{"id":2,"nickname":"Jean"}]


Integer[] userIds = JsonUtil.get(json,"users.id",Interger[].class)
//userIds == [1,2]


Integer  user1Id = JsonUtil.getInt(json,"users[0].id")
//user1Id == 1


List<String> nicknames = JsonUtil.get(json,"users.nickname",new TypeDef<List<String>>())
// users == ["Michael","Jean"]

 

Jboot v3.14.3  更新内容如下:

  • 新增:注解 @Table(datasource="xxx") 新增对数据源的配置支持
  • 新增:添加 jboo.app.listenerPackage 配置支持,用于只扫描哪些包的 listener
  • 新增:Informix 数据库方言,感谢 @xujianxie 同学
  • 新增:JbootModel 新增 findByIdWithoutCache() 方法
  • 新增:新增 JbootModel 的 CPI 类,用于开放保护方法
  • 新增:Nacos 远程配置中心添加多实例的配置支持
  • 新增:网关拦截器 GatewayConfig.interceptors 添加 SPI 名称配置的支持
  • 新增:JsonUtil.java 方便解析 Json 数据
  • 优化:ValidUtil.java,支持在非自定义消息的时候输出拦截的列名
  • 优化:ClassScanner.java 默认关闭 Class 扫描信息在控制台输出
  • 优化:修改缓存拦截器的默认权重为 100,当前情况下拦截器在最后执行
  • 优化:完善 JbootJson 更多的代码注释
  • 优化:优化 JbootConfigManager.java 代码,对添加 key 进行 trim()
  • 优化:进一步完善 jboot.properties 文件存放位置的探测
  • 优化:单元测试移除 mockHandler
  • 优化:DAO.findFirstByColumn(),当传入 null 应抛出错误,防止查询出错误的数据
  • 优化:rabbitmq.queueDeclareDurable 的配置默认设置为 false
  • 优化:对 QuietlyUtil 的方法进行重命名优化
  • 优化:ValidErrorRender 输出的 message 不带有 fieldName 信息
  • 优化:升级 Jfinal 等依赖到最新版本
  • 优化:JbootModel.findByColumn 当传入 null 值 value 时,直接返回 null
  • 优化:Model 保存和之前版本一致的行为,只允许绑定到一个数据源
  • 优化:当 Model 配置指定数据源,但数据源不存在的时候,给出更为明确的错误提示
  • 优化:Rabbitmq 添加自由开启队列和广播的开关,默认全部开启
  • 优化:重构 CORS 模块,使之代码可以用户模块里进行 "复用"
  • 修复: HttpUtil 在 put 请求时,某些情况下无法正常提交数据的问题
  • 修复:@Cacheput() 注解在 Controller 上无效的问题

 

Jboot 开发文档:

http://www.jboot.com.cn

同时,Jboot 官方也推出了收费的、企业级快速开发框架 JbootAdmin (如下图所示),真诚的为各位开发者提供一站式、保姆式服务。请咨询海哥。

更多关于 JbootAdmin 请参考:http://jboot.io/jbootadmin/feature.html 

Maven 依赖:

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

Hello World:

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

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

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

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/189267/jboot-3-14-3-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。