基于 IoC 的 Go 后端一站式开发框架 ( All-in-One Development Framework on IoC for Go ) 🚀
使用主项目和子项目的方式管理各个模块的代码,开发都在主项目上,子项目的代码和主项目保持同步,这种方式实现了更简单的包名称。
Framework
Web
MongoDB [新增]
gRPC [新增]
Message [新增]
JUnit [新增]
该版本最大的特点是引入 BeanSelector (选择器) 和 Bean Tag,进而统一了 GetBean、FindBean 和 CollectBeans 三大函数的关系。其他改动点如下:
解决了 WebServer 重复注册的问题,实现了路由注册时的多端口匹配机制,支持 Receiver 方法注册路由,整合了 Filter 和 Condition 机制,可以更好的打印 URL 注册信息,支持 Server、Container、Router、Mapper 四重级别的过滤器;
支持更多种数组值的绑定,收集模式支持指定 Bean 选择器,扩展 ${} 的语法,当引用类型遇见 ${} 时首先获取对应的属性值,然后使用获取到的属性值当做 tag 进行 Bean 的筛选;
删除非严格模式,删除注入过程中 Bean 排序和堆栈 Watch 功能,删除关闭自动导出功能的函数,删除事件通知函数;
支持 destroy 函数按顺序依次调用,修复 Map 属性值优先返回默认值的 BUG,等等。
优化 SpringBean 的存储,RequestMapping 支持方法的组合,array 重新定义为值类型,等等。
更新文档
注释风格完全符合 godoc 要求, 完善了日志框架,增加了 web 启动器模块,SpringCore 模块大量重构,完善 Bean 类型,支持构造函数和成员方法 Bean,以及 BUG 修复。
这个版本新增了许多功能,支持了 map、slice、func 的注入,合并了 singlet 框架,增加了 bean 条件注册,支持了 k8s config-map 格式的属性配置文件,支持了构造函数注册 bean 等等。