代码拉取完成,页面将自动刷新
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(®ister.Etcd3Starter{})
// 这里开辟一个goroutine,用于结束程序,回收资源
infra.Register(&hook.HookStarter{})
fmt.Println("load end ...")
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。