大家好,本次发布的v2.1版本包含一些与业务实践相关的功能特性、改进以及Bug Fix,建议大家升级。
v2.1
gen service
logic
service
WhereBuilder
SQL
Hook
DeepCopy
gutil.Copy
Copy
gvar, garray, gmap
ORM驱动实现
drivers/clickhouse
clickhouse
goframe ORM
clickhouse/mssql/pgsql/sqlite/oracle
mysql
注册发现实现
polaris
etcd
Service
HTTP/GRPC Client&Server
Node
Nodes
HTTP Client
gclient
ghttp
Request.GetUrl
URL Schema
UploadFile
JS CDN
unpkg.com
goai
OpenAPIV3
x-
gcfg
property
gcmd
CaseSensitive
glog
Handler
JSON
gsession
gproc
garray
Unique
glist
gmap
gset
gtype
gvar
gdb
HOOK
driver
gproperty
Java Property
gjson
gstr
WordWrap
Unicode
RepliceI
gerror
Unwrap
Next
Golang
Equal
Is
gconv
gutil
gutil.Dump
相对于主库稳定的代码组件,CLI开发工具在近期的版本发布有一些非兼容更新,各位在升级时注意发布记录,细节请查看源码调整。
build
pack
docker
docker tag
gen dao
dao/do/entity
service/internal
run
gofmt/goimports
评论删除后,数据将无法恢复
Go 企业级框架 GoFrame 发布 v2.1 版本
大家好,本次发布的
v2.1版本包含一些与业务实践相关的功能特性、改进以及Bug Fix,建议大家升级。新特性
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/etcd注册发现
Service实现对象改进为接口定义,并提供默认的Service实现,提高扩展性和易用性。HTTP/GRPC Client&Server对接实现。负载均衡
Node接口定义,新增Nodes接口定义。HTTP Client下的服务发现负载均衡问题。网络组件
gclientghttpRequest.GetUrl方法对URL Schema获取细节。UploadFile属性自动接收。JS CDN改为unpkg.com。goaiOpenAPIV3协议实现。x-开头的自定义标签,自动添加OpenAPIV3的结果中。系统组件
gcfgproperty文件格式的支持。gcmdCaseSensitive配置,默认不区分大小写解析,特别针对结构化参数接收影响较大:命令管理-结构化参数glogHandler设置功能,开发者可以全局自定义处理glog组件的所有日志,例如全局输出JSON文件格式:日志组件-HandlerJSON格式Handler供开发者使用:日志组件-Handlergsessiongproc容器组件
garrayUnique方法性能,增加DeepCopy接口实现。glistDeepCopy接口实现。gmapDeepCopy接口实现。gsetDeepCopy接口实现。gtypeDeepCopy接口实现。gvarCopy方法,用于深度拷贝当前泛型对象。DeepCopy接口实现。数据库组件
gdbWhereBuilder特性,用于更加灵活的SQL条件语句组合:ORM查询-Where/WhereOr/WhereNotHOOK特性,用于自定义钩子事件处理:ORM链式操作-Hook特性driver前的数据转换处理逻辑。mysql驱动从主库迁移到社区模块,便于将mysql从主库解耦。因此从后续版本开始,开发者需要手动引入驱动依赖:https://github.com/gogf/gf/tree/master/contrib/drivers编解码组件
gpropertygproperty组件,用于解析Java Property格式文件。gjsonproperty文件格式的编解码、数据操作支持:通用编解码-gjson文本处理
gstrWordWrap方法,使得对Unicode特别是中文换行更加友好。RepliceI忽略大小写字符串替换在特定场景下的问题。错误处理
gerrorUnwrap方法(同Next方法),用以支持Golang新版本的Unwrap错误接口。Equal方法,用于判断两个错误是否相等:错误处理-错误比较Is方法,用于支持Golang新版本的Is错误接口:错误处理-错误比较工具方法
gconvgutilgutil.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程序路径带空格问题。