注入匿名字段
依赖注入支持匿名字段的注入
限制
注入的匿名字段不能实现以下生命周期接口,因受golang语言特性其存在于注入的生命周期内,会造成重复执行。
BeanConstruct
PreInitialize
AfterPropertiesSet
Initialized
Disposable
示例
package main
import (
"github.com/cheivin/di"
)
type (
Dao struct {
}
AService struct {
*Dao `aware:""` // 匿名字段注入,根据BeanName接口指定
}
)
func (Dao) BeanName() string {
return "dao"
}
func main() {
di.Provide(Dao{}).
Provide(AService{}).
Load()
}
最后更新于