1 Star 0 Fork 0

distill / distill-base

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
app.go 1.85 KB
一键复制 编辑 原始数据 按行查看 历史
package distill_micro_http
import (
"fmt"
_ "gitee.com/banyanhouse/distill-base/apis/web"
infra "gitee.com/banyanhouse/distill-infra"
"gitee.com/banyanhouse/distill-infra/api"
"gitee.com/banyanhouse/distill-infra/base"
"gitee.com/banyanhouse/distill-infra/hook"
"gitee.com/banyanhouse/distill-infra/log"
"gitee.com/banyanhouse/distill-infra/register"
"gitee.com/banyanhouse/distill-infra/validator"
"gitee.com/banyanhouse/distill-infra/web"
)
// distill-infra的boot.go文件是整个框架设施启动器的基本结构,所有基础设施的启动过程是按照app.go中配置的顺序来加载,
// 依次加载和运行所有Starter的Init()方法,再依次运行所有Starter的Setup()方法,最后依次运行所有Starter的Start()方法,
// 而最后一个配置的Starter是HookStarter,用于在独立开辟的goroutine中,监听接受终端和终止信号,以依次运行所有Starter的Stop()方法,
// 以达到回收资源的目的
func init() {
fmt.Println("start app...")
// 用于读取toml的配置文件
infra.Register(&base.TomlPropsStarter{})
// 这里启动一个Logger的封装,加入了一些日志滚动的功能
infra.Register(&log.LoggerStarter{}) // 如果需要输出日志到文件中,则可以打开这里,去初始化文件日志
// 这里可以对Handler接受的数据进行验证,后续详细描述
infra.Register(&validator.ValidatorStarter{})
// 默认集成了Iris框架
infra.Register(&web.IrisServerStarter{})
// 启动web框架后,就可以注册我们自己编写的Handler
infra.Register(&api.WebApiStarter{})
// 集成了go-micro框架,实际的Iris等web框架,最终也是提交给go-micro中进行注册和启动的
infra.Register(&register.Etcd3Starter{})
// 这里开辟一个goroutine,用于结束程序,回收资源
infra.Register(&hook.HookStarter{})
fmt.Println("load end ...")
}
Go
1
https://gitee.com/banyanhouse/distill-base.git
git@gitee.com:banyanhouse/distill-base.git
banyanhouse
distill-base
distill-base
master

搜索帮助