IOC-golangGo 语言依赖注入框架
IOC-golang 是一款强大的 Go 语言依赖注入框架,提供了一套完善的 IoC 容器。其能力如下:
-
支持任何结构、接口的依赖注入,具备完善的对象生命周期管理机制。
可以接管对象的创建、参数注入、工厂方法、参数来源等等,并拥有可扩展性。
-
基于 AOP 的思路,为由框架接管的对象提供默认的接口代理层,在面向接口编程的情景下,可以在 业务无侵入 的前提下,使用基于结构代理 AOP 层扩展的丰富运维能力。例如接口查询,参数动态监听,方法粒度链路追踪,性能瓶颈分析,分布式场景下全链路方法粒度追踪等。
- 监控
- 日志采集
- 链路追踪
- 事务能力
-
我们提供了代码生成工具,开发者可以通过注解的方式标注结构,从而便捷地生成结构注册代码、结构代理、结构专属接口等。
-
支持被注入结构的扩展、自动装载模型的扩展、调试 AOP 层的扩展。
-
提供覆盖主流中间件的预制对象,方便直接注入使用。
项目结构
- aop: 结构代理 AOP 模块:提供 AOP 层的基础能力,和可扩展API。
- autowire: 提供依赖注入内核,以及单例模型、多例模型两种基本自动装载模型
- config: 配置加载模块,负责解析框架配置文件。
- extension: 组件扩展:提供基于多个领域模型的的预置实现结构,比如缓存、数据库、消息。
- example: 示例
- iocli: 代码生成/程序调试 工具
评论