package
0.17.4
Repository: https://github.com/eolinker/eosc.git
Documentation: pkg.go.dev

# 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.

# Interfaces

Container bean 容器接口.
InitializingBeanHandler 注入完成后的回调.