iris 框架依赖注入使用
介绍
golang开发web应用一般会选个web框架开始开发,web框架提供了丰富的功能和特性,非常方便易用
golang官方提供的http包也可以快速启动http服务,但它提供的功能很少,不支持请求拦截、错误处理、日志处理、请求参数校验等常见的开发问题
golang的web框架很多,大部分也都很好用,像iris、gin、echo等在github上都是20k+star的项目
今天介绍一下iris这个框架,为什么选这个框架,因为这个框架有个非常好的特性——依赖注入(DI)
快速开始
下面是官方的例子,简单几行代码就可以启动http服务
iris还支持其他很多特性,比如:
- • HTTP/2(推送,甚至是嵌入式数据)
- • 中间件(Accesslog, Basicauth, CORS, gRPC, Anti-Bot hCaptcha, JWT, MethodOverride, ModRevision, Monitor, PPROF, Ratelimit, Anti-Bot reCaptcha, Recovery, RequestID, Rewrite)
- • API版本管理
- • MVC
- • Websockets
- • gRPC
- • 独特的路由器,以动态路径作为参数,具有标准类型,如:uuid, :string, :int...和创建自己的能力
等,详情可以看官方文档
iris提供的这些功能,大部分web框架也都有支持
使用依赖注入(dependency injection)
RegisterDependency
riis支持自动注入的对象还有很多,比如:
github.com/kataras/iris/v12@master