ruwebframe 0.1.0

A brief description of your crate.
Documentation
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}}

}