# README
自动注入
demo
package main
import (
"fmt"
"github.com/eolinker/apinto-standard/common/bean"
)
type AutowiredTester interface {
Name()string
}
type AutowiredTester1 struct {
}
func (a *AutowiredTester1) Name() string {
return "AutowiredTester1"
}
var(
tester AutowiredTester
)
func init() {
// 依赖注入,这里必须用指针
bean.Autowired(&tester)
}
func main() {
var t1 AutowiredTester = new(AutowiredTester1)
// 注入 AutowiredTester, 这里必须用指针
bean.Injection(&t1)
bean.Check()// 检查是否完成了完整注入
fmt.Println(tester.Name())
}
# Functions
AddInitializingBean 注册完成回调接口, 执行check成功后会调用回调接口.
AddInitializingBeanFunc 注册完成回调方法, 执行check成功后会调用回调方法.
AutowiredManager 声明需要注入的接口变量 如果目标接口还没有注入实例,会在注入后给将接口实例赋值给指针 如果目标接口类型已经被注入,会立刻获得有效的接口实例.
Check 对默认的bean容器执行检查, 如果所有Autowired需求都被满足,返回nil,否则返回与缺失实例有关都error.
No description provided by the author
No description provided by the author
Injection 注入一个构造好的实例
如果注入多个相同接口类型,后注入的实例会覆盖先注入的实例
*/.
InjectionDefault 注入一个构造好的默认实例*
如果注入多个相同接口类型,后注入的实例会覆盖先注入的实例,default实例不会覆盖普通实例
*/.
NewContainer 创建新的 bean 容器.
No description provided by the author
# Variables
Default 默认的bean.