大家好,本次发布的v2.1版本包含一些与业务实践相关的功能特性、改进以及Bug Fix,建议大家升级。
新特性
- 开发工具新增gen service命令,支持自动化地根据logic层级代码,生成service接口代码、实现注入:接口维护-gen service
- 数据库组件特性:新增WhereBuilder特性,用于更加灵活的SQL条件语句组合:ORM查询-Where/WhereOr/WhereNot新增Hook特性,用于自定义钩子事件处理:ORM链式操作-Hook特性
- 框架新增DeepCopy特性,用于类型的深度拷贝:新增gutil.Copy方法,用于深度拷贝指定内容。泛型类型新增Copy方法,用于深度拷贝自身内容。框架部分数据类型已支持深度拷贝特性,例如:gvar, garray, gmap等基础容器类型。
主要改进
社区组件
ORM驱动实现
- 新增drivers/clickhouse,用于对接clickhouse到goframe ORM组件。
- 完善clickhouse/mssql/pgsql/sqlite/oracle组件单元测试。
- 将mysql驱动从主库迁移到社区模块,便于将mysql从主库解耦。因此从后续版本开始,开发者需要手动引入驱动依赖:https://github.com/gogf/gf/tree/master/contrib/drivers
注册发现实现
- 新增polaris北极星服务注册接口实现:https://github.com/gogf/gf/tree/master/contrib/registry/polaris
- 改进etcd服务注册发现接口实现组件:https://github.com/gogf/gf/tree/master/contrib/registry/etcd
注册发现
- 将Service实现对象改进为接口定义,并提供默认的Service实现,提高扩展性和易用性。
- 改进HTTP/GRPC Client&Server对接实现。
负载均衡
- 改进Node接口定义,新增Nodes接口定义。