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