转载

ActFramework 1.8.31 发布 - 老码农的新年大礼包

1. ActFramework 核心框架

ActFramework 是一款 "非轻量级" Java Web 应用框架. 作为著名的 PlayFramework 1.x 的继任者之一, ActFramework 具有功能丰富, 高性能和良好的开发时支持的特点.

2020 的第一个版本 Act-1.8.31 给大家带来了以下值得注意的改变:

  • #1247 参数绑定 - 支持使用 @DefaultValue("now") 来表达默认日期格式对象设置为当前日期时间:

    @GetAction("date")
    public Date foo(@DefaultValue("now") Date date) {return date;}
  • #1254 当处理请求过程中发生 IllegalArgumentException 时打印错误堆栈后再返回 400 Bad Request . - 以前的版本不会打印 IllegalArgumentException 的错误堆栈

  • #1256 JSON 格式的错误消息没有正确转义. 以前的版本会出现这样的问题:

    {"ts":1575416334641,"message":"Invalid format: "06 Dec 2019""}

    新版本的输出如下:

    {"ts":1575416334641,"message":"Invalid format: /"06 Dec 2019/""}
  • #1257 API 文档 - 基本类型数组类型的示例数据错误. 以前的版本:

    • 以前的版本:

      ActFramework 1.8.31 发布 - 老码农的新年大礼包

    • 修复后:

      ActFramework 1.8.31 发布 - 老码农的新年大礼包

  • #1258 微信请求 XML body 绑定到 JSONObject 错误. 这个问题是 Crosslee 提出的, 详情参见: https://github.com/actframework/actframework/issues/1258

  • #1259 API 文档 - JPA Entity SQL Date 数据类型转换错误. 这个问题是 jiankia 提出的. 详情参见: https://github.com/actframework/actframework/issues/1259

  • #1260 IE9 的奇特错误 - 由 flyingbeecd 提出. 详情参见: https://github.com/actframework/actframework/issues/1260

  • #1261 采用 html-table 格式输出字串列表的问题.

    • 以前的版本:

      ActFramework 1.8.31 发布 - 老码农的新年大礼包

    • 修复后:

      ActFramework 1.8.31 发布 - 老码农的新年大礼包

  • #1262 对 JSON Path 的支持.

    • 输出数据:

      ActFramework 1.8.31 发布 - 老码农的新年大礼包

    • 采用 JSON Path 输出

    ActFramework 1.8.31 发布 - 老码农的新年大礼包

  • #1266 命令行帮助 - 显示命令快捷方式

    • 以前的版本:

      ActFramework 1.8.31 发布 - 老码农的新年大礼包

    • 新版本:

      ActFramework 1.8.31 发布 - 老码农的新年大礼包

  • #1270 提供生成示例数据的 API. 对于下面的代码:

    public static class Address {
        public String street;
        public String suburb;
        public int postcode;
    }
    
    public static class User {
        public String firstName;
        public String lastName;
        public String email;
        public Address address;
    }
    
    @GetAction("samples/user")
    public User getSampleUser() {
        return SampleData.generate(User.class);
    }

    访问 ``/samples/user` 的结果:

    ActFramework 1.8.31 发布 - 老码农的新年大礼包

  • 依赖升级:

    • osgl-tool 升级到 1.23.0
    • osgl-genie 升级到 1.13.0
    • osgl-http 升级到 1.13.0
    • osgl-mvc 升级到 1.13.0

更多 ActFramework 核心框架 1.8.31 的更新, 参见 CHANGELOG

2. 安全插件 act-aaa-1.7.3

act-aaa 是专门为 ActFramework 设计的安全插件, 基于 osgl-aaa 安全库. 在 1.7.3 版里面我们带来了一下更新:

  • UserBase model 中增加了 grantPrivilege(int)grantPrivilege(Privilege) 方法

3. Beetl 模板框架插件 act-beetl-1.7.1

act-beetl 将beetl 模板框架集成到 ActFramework 中. act-beetl-1.7.1 版更新如下:

  • 升级 act 到 1.8.31
  • 升级 beetl 到 3.0.16.RELEASE

4. BeetlSQL 数据访问插件 act-beetlsql-1.8.1

act-beetlsql 将beetlsql 数据库访问组件集成进 ActFramework 中. act-beetlsql-1.8.1 更新如下:

  • 升级 act 到 1.8.31
  • 升级 beetlsql 到 2.12.17.RELEASE

5. Excel 模板插件 act-excel-1.8.1

act-excel 依赖于 osgl-excel 和 jxls 分别为 ActFramework 应用提供默认 Excel 数据输出和基于模板的 Excel 数据输出. act-excel-1.8.1 版的更新:

  • 升级 act 到 1.8.31
  • 升级 osgl-excel 到 1.9.0

关于 act-excel 的使用可以参见 response-type 示例项目

6. MongoDB 数据访问插件 act-morphia-1.8.2

act-morphia 依赖于 morphia 为 ActFramework 应用提供 MongoDB 数据库访问能力. act-morphia-1.8.2 的更新:

  • 升级 act 到 1.8.31
  • MorphiaUserBase model 提供 grantPrivilege - 该类为使用 Mongodb 的应用提供 act-aaa 的用户基类

7. OSGL-Tool 通用工具类库 osgl-tool-1.23.0

osgl-tool 是一个类似 hutool 的 Java 通用工具类库. osgl-1.23.0 的更新:

  • #229 为 S 工具提供 pluralize(String)singularize(String) 方法, 用于在英文语言中转换名词的单复数. 该方法依托于 jboss 的 Inflector
  • MIME Types - 增加 msa=application/x-ms-application - 增强 IE 支持
  • #227 ResultSetDataConverter 增强
  • #226 XML 到 JSON 转换 - 修复大数字引起异常的问题
  • #225 XML 到 JSON 转换 - 处理 [CDATA 内容 - 支持微信请求 body
  • #224 转换器框架 - 修复 java.sql.Date 转换失败问题

8. Genie 依赖注入库 osgl-genie-1.13.0

genie 是 JSR 330 依赖注入标准的实现. genie-1.13.0 的更新:

  • #56 简化 Enum 类型容器的注入. 假设有下面的 enum 定义:

    public enum Color {RED, GREEN, BLUE}
    • 以前版本:
      public class Foo {
      	@Inject
      	@TypeOf
      	private List<Color> colorList;
      	
      	@Inject
      	@TypeOf
      	@MapKey("name")
      	private Map<String, Color> colorLookup;
      }
    • 新版本:
      public class Foo {
      	@Inject
      	private List<Color> colorList;
      	
      	@Inject
      	private Map<String, Color> colorLookup;
      }
  • #55 ElementType.BEAN 支持 Enum 类型的转换

  • #54 MapLoader 支持非 String 类型 key 的加载, 对于上面的例子, 现在可以这样写也不会出错了:

    public class Foo {
    	@Inject
    	private List<Color> colorList;
    	
    	@Inject
    	private Map<Keyword, Color> colorLookup; // 这里 Map 的 key 可以是非字串了
    }

9. 其他 osgl 库更新

  • osgl-http 1.13.0 更新
  • osgl-mvc 1.13.0 更新

新年寄语

回顾 2019, ActFramework 仅核心框架部分一共带来了 194 项更新 (包括错误修复和增强), 加上各种插件以及 OSGL 类库, 估计总共更新项目接近甚至超过 300 项.

展望 2020, 老码农会一如既往努力工作, 为 Java 开发人员提供优质的 Web 开发框架和通用类库. 对于 ActFramework 本身的发展, 老码农的大致路线为:

  • 1.9 - 提供全新的数据库访问框架 - 2020 年 4 月
  • 2.0 - 弃用 Java7, 提供纯异步请求处理功能 - 2020 年 8 月
  • 2.1 - 升级 act-asm 提供 Java 13 支持 - 2020 年 12 月

希望老朋友们一如既往支持 ActFramework 以及 OSGL 通用库的发展. 也希望有更多的新朋友加入 ActFramework 社区, 我们共同发展. ActFramework 的联系方式:

  • QQ: 283919975
  • gitter 中文频道: https://gitter.im/actframework/gitter-cn-channel
  • gitter 英文频道: https://gitter.im/actframework/actframework
  • StackOverflow: https://stackoverflow.com/questions/tagged/actframework

最后祝大家新年新气象.

最重要的事情: 2020 - 1024 = 996 的意思是 2020 年不搞 IT 就会 996!

原文  https://www.oschina.net/news/112514/actframework-1-8-31-released
正文到此结束
Loading...