Go-Spring 迄今最稳定版本发布了!

梁欢
 梁欢
发布于 2020年06月23日
收藏 9

精选30+云产品,助力企业轻松上云!>>>

撒花!Go-Spring 迄今最稳定版本 v1.0.4 正式发布了!本次更新重点在 Web API 完善和 BeanSelector 实践上面。同时这个版本的 API 绝对稳定,大家可以放心地在生产环境中使用了!详细的更新内容如下:

go-spring-parent

1. SpringError 模块添加 PanicImmediately 函数,增加错误码的默认值,优化 RPC 结果的显示;

2. SpringLogger 模块添加 Print 和 Printf 函数,可适配更多 Logger 接口,线程安全的修改 Logger 的打印级别;

3. 实现更多辅助函数,增加 int 和 string 的 Contains 函数,增加获取函数所在文件及其行数的辅助函数,实现可以 Add 和 Wait Goroutine 的 WaitGroup 封装类,比原生函数更安全的可检测 reflect.Value 是否为 nil 的 IsNil 函数,添加 MD5 和 BASE64 的编码函数,增加 FindInList 函数,性能更好的 LocalIPv4 函数,time.Time 和 time.Duration 转毫秒的辅助函数,等等。

go-spring-web

1. Handler 提升为接口,打印更丰富的路由信息;FilterChain 提升为接口,完美适配 echo 和 gin 的中间件机制;全面统一 echo、gin 以及 {} 路由风格;全面实现 WebServer、WebContainer、Router、Mapper 四个级别的 Filter 机制;

2. WebContainer 增加 ReadTimeout 和 WriteTimeout 配置;BIND 模式支持 WebContext 参数,支持无参和无返回值,RPC 处理函数可定制;增加 gin、echo 与 WebContext 之间的互转函数;

3. 改造 WebServer 流式接口;优化 Swagger 使用;减小 WebContainer 方法集;引入参数校验框架;修复 gin 路由的 BUG;增加 WebContext.SetRequest 函数,等等。

go-spring

该版本最大的特点是引入 BeanSelector (选择器) 和 Bean Tag,进而统一了 GetBean、FindBean 和 CollectBeans 三大函数的关系。其他改动点如下:

1. 解决了 WebServer 重复注册的问题,实现了路由注册时的多端口匹配机制,支持 Receiver 方法注册路由,整合了 Filter 和 Condition 机制,可以更好的打印 URL 注册信息,支持 Server、Container、Router、Mapper 四重级别的过滤器;

2. 支持更多种数组值的绑定,收集模式支持指定 Bean 选择器,扩展 ${} 的语法,当引用类型遇见 ${} 时首先获取对应的属性值,然后使用获取到的属性值当做 tag 进行 Bean 的筛选;

3. 删除非严格模式,删除注入过程中 Bean 排序和堆栈 Watch 功能,删除关闭自动导出功能的函数,删除事件通知函数;

4. 支持 destroy 函数按顺序依次调用,修复 Map 属性值优先返回默认值的 BUG,等等。

想要更多了解 Go-Spring 是如何使用的请下载 https://github.com/go-spring/go-spring-boot-demo 项目。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Go-Spring 迄今最稳定版本发布了!
加载中
此新闻有 27 条评论,请先登录后再查看。
返回顶部
顶部