脚手架使用自己写的非常简单和轻量的依赖注入机制,目前
    1、所有依赖注入都是“单例模式”
    2、需要注入的对象必须是指针struct
    使用的方式很类似java的configuration的写法

    1. type ServiceConfig struct {}
    2. func NewServiceConfig() *ServiceConfig {
    3. return &ServiceConfig{}
    4. }
    5. func(this *ServiceConfig) UserService() *service.UserService{
    6. return service.NewUserService()
    7. }

    这里面所有方法都不能有参数。 返回类型就是 控制器、中间件里里面需要注入的类型