大家好,本次发布的v2.1
版本包含一些与业务实践相关的功能特性、改进以及Bug Fix,建议大家升级。
视频介绍:2022-06-22 GoFrame v2.1功能特性&使用答疑
gen service
命令,支持自动化地根据logic
层级代码,生成service
接口代码、实现注入:模块规范-gen serviceWhereBuilder
特性,用于更加灵活的SQL
条件语句组合:ORM查询-Where/WhereOr/WhereNotHook
特性,用于自定义钩子事件处理: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/polarisetcd
服务注册发现接口实现组件:https://github.com/gogf/gf/tree/master/contrib/registry/etcdService
实现对象改进为接口定义,并提供默认的Service
实现,提高扩展性和易用性。HTTP/GRPC Client&Server
对接实现。Node
接口定义,新增Nodes
接口定义。HTTP Client
下的服务发现负载均衡问题。gclient
ghttp
Request.GetUrl
方法对URL Schema
获取细节。UploadFile
属性自动接收。JS CDN
改为unpkg.com
。goai
OpenAPIV3
协议实现。x-
开头的自定义标签,自动添加OpenAPIV3
的结果中。protocol
分类迁移到了net
分类下,import
路径发生改变。gcfg
property
文件格式的支持。gcmd
CaseSensitive
配置,默认不区分大小写解析,特别针对结构化参数接收影响较大:命令管理-结构化参数glog
Handler
设置功能,开发者可以全局自定义处理glog
组件的所有日志,例如全局输出JSON
文件格式:日志组件-HandlerJSON
格式Handler
供开发者使用:日志组件-Handlergsession
gproc
garray
Unique
方法性能,增加DeepCopy
接口实现。glist
DeepCopy
接口实现。gmap
DeepCopy
接口实现。gset
DeepCopy
接口实现。gtype
DeepCopy
接口实现。gvar
Copy
方法,用于深度拷贝当前泛型对象。DeepCopy
接口实现。gdb
WhereBuilder
特性,用于更加灵活的SQL
条件语句组合:ORM查询-Where/WhereOr/WhereNotHOOK
特性,用于自定义钩子事件处理:ORM链式操作-Hook特性driver
前的数据转换处理逻辑。mysql
驱动从主库迁移到社区模块,便于将mysql
从主库解耦。因此从后续版本开始,开发者需要手动引入驱动依赖:https://github.com/gogf/gf/tree/master/contrib/driversgproperty
gproperty
组件,用于解析Java Property
格式文件。gjson
property
文件格式的编解码、数据操作支持:通用编解码-gjsongstr
WordWrap
方法,使得对Unicode
特别是中文换行更加友好。RepliceI
忽略大小写字符串替换在特定场景下的问题。gerror
gconv
gutil
gutil.Copy
方法,用于深度拷贝指定内容。gutil.Dump
方法。相对于主库稳定的代码组件,CLI开发工具在近期的版本发布有一些非兼容更新,各位在升级时注意发布记录,细节请查看源码调整。
build
命令,支持指定pack
代码文件的生成目录,参数有个别调整。docker
命令,支持多个docker tag
的重命名及仓库自动推送。gen dao
命令,支持自定义dao/do/entity
代码生成目录,不再强制生成到service/internal
目录下:数据规范-gen daogen service
命令,支持自动化地根据logic
层级代码,生成service
接口代码:模块规范-gen servicerun
命令自定义程序启动参数问题、gofmt/goimports
程序路径带空格问题。mysql
驱动从主库迁移到社区模块,便于将mysql
从主库解耦。因此从后续版本开始,开发者需要手动引入驱动依赖:https://github.com/gogf/gf/tree/master/contrib/driversghttp.Response.WriteJson/Xml
等方法不再返回error
。根据编译错误调整即可。goai
组件从protocol
分类迁移到了net
分类下,import
路径发生改变。根据编译错误调整即可。ORM
操作参数中带有gtime.Time
类型,为了解决时间精度丢失的问题,将会自动转换为time.Time
类型再提交给底层的数据库driver
。也就是说,gtime.Time
类型参数也会受到数据库配置的时区配置参数影响。具体请参考:ORM时区处理