package {{.SinglePKG}}
import (
"gitee.com/gowebframe3/webframe.git/goconfig/base/baseiface"
"gitee.com/gowebframe3/webframe.git/goconfig/basedi"
"github.com/sirupsen/logrus"
{{.ImportLibs}}
)
/*
@Title 文件名称: {{.FileName}}.go
@Desp 描述: 依赖自动注入
@Company 公司: {{.Corp}}
@Author 作者: {{.Author}} 时间: {{.Now}}
@Update 作者: {{.Author}} 时间: {{.Now}}
*/
var singleName{{.SingleStruct}} = "{{.SinglePkgStruct}}"
// init register load
func init() {
registerBean{{.SingleStruct}}()
}
// register {{.SingleStruct}}
func registerBean{{.SingleStruct}}() {
err := basedi.RegisterLoadBean(singleName{{.SingleStruct}}, Load{{.SingleStruct}})
if err != nil{
logrus.Error("register bean error!", err)
}
}
// FindBean{{.SingleStruct}}
func FindBean{{.SingleStruct}}() *{{.SingleStruct}} {
if bean, ok := basedi.FindBeanOk(singleName{{.SingleStruct}}); ok {
return bean.(*{{.SingleStruct}})
}
logrus.Error("not find bean!")
return nil
}
func Load{{.SingleStruct}}() baseiface.ISingleton {
var inst = {{.NewSingle}}
Inject{{.SingleStruct}}(inst)
return inst
}
func Inject{{.SingleStruct}}(s *{{.SingleStruct}}) {
{{.ToInjectCode}}
}