简介
Wire 是一个轻巧的 Golang 依赖注入工具。它由 Go Cloud 团队开发,通过自动生成代码的方式在编译期完成依赖注入。
Wire使用小例子源码结构说明
├─demo1 基本用法
├─demo2 接口绑定
├─demo3 结构体值注入
└─demo4 对错误的处理
使用说明
安装wire命令
go get github.com/google/wire/cmd/wire
这个只需要安装一次就可以了,没必要为每个项目都安装一次。
基本概念
provider
和injector
是wire
的两个核心概念。
provider
是普通的go函数,用它来产生指定对象的。因而这类函数必须是有返回值的。injector
是组织provider
函数按依赖顺序(不是参数传入顺序)生成对象的。此函数的最终目标是生成指定对象,因而必须要有返回值。但它的返回值是在代码生成时