didi / go-spring
- вторник, 1 октября 2019 г. в 00:23:47
Go
模仿 Java 的 Spring 全家桶实现的一套 GoLang 的应用程序框架 🚀
由于 Go-Spring 是由我个人发起的项目,还不是团队作战,而且我在公司的主业务也很忙,所以基本上处于我有时间了就会更新的情况,但长此下去对 Go-Spring 的发展极为不利,也满足不了大家对 Go-Spring 的期待,所以欢迎对 Go-Spring 感兴趣的开发者参与到 Go-Spring 的日常开发和运营中来!
我个人认为目前 Go-Spring 实现了两个非常核心的特性:IoC 容器和开箱即用。
有了这两大基本功能,GoLang 开发基本上算是摆脱了茹毛饮血的初级阶段。随着项目的不断完善,后面 GoLang 开发肯定会进入更高级的层次。
Go-Spring 主推两种编程思想:面向接口编程和面向模块编程。
Go-Spring 有两个仓库,一个是实现 IoC 容器特性的主项目所在的 didi 仓库,另一个是实现开箱即用特性的 Starters 项目所在的 go-spring仓库。
实现完善的 IoC 容器功能,支持数组对象注入,支持更多类型的属性绑定;
TODO
Go-Spring 是模仿 Java 的 Spring 全家桶实现的一套 GoLang 的应用程序框架,遵循“习惯优于配置”的原则,提供了依赖注入、自动配置、开箱即用、丰富的第三方类库集成等功能,能够让程序员少写很多的样板代码。
完整的 go-spring 项目一共包含 6 个模块,当前模块仅实现了基础的 IOC 容器的能力,该模块可以独立使用,但是配合其他模块才能使得效率最大化。其他模块发布在 https://github.com/go-spring 仓库下。下面是所有模块的列表:
1、程序启动框架
AppRunner
2、核心功能模块
GoSpring
3、启动器核心组件
GoSpringBoot
4、开源微服务组件
GoSpringCloud
5、多个项目启动器
GoSpringBootStarter
GoSpringCloudStarter
TODO
TODO
如何成为外部贡献者? 提交有意义的PR,并被采纳。
This is not an official Didi product (experimental or otherwise), it is just code that happens to be owned by Didi.