基于Uber dig
框架而框架,特点有
Go
依赖注入- 运行时注入依赖而非编译时注入依赖
- 线程安全
- 所有配置项高度可配置化
- 框架设计最最小暴露原则,只暴露少数几个接口和结构体
- 依赖支持单例模式和多例模式
以di
框架为基础,发展而来的boot
框架,主要是受Springboot
启发而在Golang
中运用相关技术,特点有:
- 这是一个应用程序快速开发框架
- 类Springboot高生产力开发框架
- 一个基于运行时的应用程序开发框架,在运行时进行依赖绑定
- 可基于本框架快速开发自己的项目
- 依赖自动配置
- 配置文件无缝切换(支持JSON/JSONC/JSON5、YML/YAML、TOML、XML以及环境变量支持和默认值配置支持)
- 丰富的插件支持(Web、Http Client、MQTT、Redis、gRPC等一系统生产力集合框架)
- 线程安全
- 所有配置项都可以在运行时设置
- 其它一系统旨在提高生产力的功能集合