Go-IOC —— 为 Go 开发的依赖注入容器
Go-IOC是一款为 Go 语言开发的运行时依赖注入库。Go 语言的语言特性决定了实现一款类型安全的依赖注入容器并不太容易,因此Go-IOC大量使用了 Go 的反射机制。如果你的使用场景对性能要求并不是那个苛刻,那Go-IOC非常适合你。 并不是说对性能要求苛刻的环境中就不能使用了,你可以把Go-IOC作为一个对象依赖管理工具,在你的业务初始化时获取依赖的对象。 使用方式 go get github.com/mylxsw/go-ioc 要创建一个Container实例,使用ioc.New方法 cc := ioc.New() 此时就创建了一个空的容器。 你也可以使用ioc.NewWithContext(ctx)来创建容器,创建之后,可以自动的把已经存在的context.Context对象添加到容器中,由容器托管。 对象绑定 在使用之前,我们需要先将我们要托管的对象告诉容器。Container支持三种类型的对象管理 单例对象Singleton 原型对象(多例对象)Prototype 字符串值对象绑定Value 所有的对象绑定方法都会返回一个error返回值来说明是否绑定成功,应用在使用时一...
