beego框架 教程

beego 框架是一个使用 Go 语言快速开发 API、Web 及后端服务等各种应用的 MVC 框架。beego 的主要设计灵感来源于 tornado、sinatra、flask 这三个框架,但是结合了 Go 本身的一些特性。

beego 框架相对于仅包含路由和控制器核心模块的 echo 框架、gin 框架更为完备,beego 是一个完整的 MVC 框架,它包括 controller(路由和控制器)、model(数据库ORM 封装)以及 view (模板和标签)等 MVC 必备模块。

官方网站:https://beego.me/

Github地址:https://github.com/beego/

1. beego框架 工作流程

beego框架

流程图说明:

  • http 请求从左侧 main 入口函数开始进入框架;
  • 解析 url 路由,然后确定执行那个控制器(controller);
  • 执行请求前的过滤器(过滤器一般用来拦截请求,例如做 api 签名校验,session 处理,安全验证等);
  • 执行控制器,控制器根据需要调用 model,session,日志等模块;
  • 执行请求后的过滤器;
  • 输出结果,视图呈现给给用户。

2. beego框架 安装

1) 设置代理

由于安装 beego 需要从 github 下载各种依赖包,考虑到国内网络环境,所以最好使用代理加速下载过程。

使用代理服务器也非常简单:

使用 Linux shell 或者 windows cmd,执行如下命令:

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct

2) 安装 beego

安装 beego 源代码,可以执行如下命令:

$ go get github.com/astaxie/beego

如果升级 beego 源代码,可以执行如下命令:

$ go get -u github.com/astaxie/beego

3) 安装 beego 项目工具

beego 提供了创建或者运行 beego 项目的工具 bee,我们最好安装 bee 工具,以方便进行项目开发:

$ go get github.com/beego/bee

安装 bee 包后,需要将 $GOPATH/bin 路径添加到环境变量 path 中, 否则会提示找不到 bee 命令,$GOPATH 代表的就是你的 GOPATH 路径,如果你不知道 GOPATH 路径在哪里,执行下 go env 命令,会列出所有 go 相关的环境变量,从里面找到 GOPATH 路径。

bee 安装成功后,通过 Linux shell 或者 windows cmd,直接可以运行 bee。

3. 使用 bee 创建项目

下面使用 bee 快速创建一个新的项目, 打开命令窗口,进入 $GOPATH/src 目录,然后执行 bee 命令。

bee new aizws

其中,aizws是项目名称。bee 工具在当前目录创建了一个 aizws 的目录,里面包含了 beego 项目的基本结构。

提示: 如果你熟悉 beego 项目结构也可以手动创建项目,当然为了效率还是建议用 bee 快速创建。

4. beego 项目结构

aizws
    ├── conf            - 配置文件存放目录
    │   └── app.conf    - beego应用配置文件,里面包含一些默认的配置包括启动端口、运行模式等等
    ├── controllers     - 控制器目录
    │   └── default.go
    ├── main.go         - 入口文件
    ├── models          - model目录,存放我们的业务逻辑和数据库相关的操作
    ├── routers         - 路由配置目录,主要存放我们各个业务模块的路由设置
    │   └── router.go
    ├── static          - 静态资源目录,默认静态资源访问url为 "http://域名/static/资源路径"
    │   ├── css
    │   ├── img
    │   └── js
    ├── tests           - 单元测试脚本目录
    │   └── default_test.go
    └── views           - 视图模板目录
        └── index.tpl

5. 运行 beego 项目

我们已经创建了项目 aizws,现在可以把项目运行起来看看效果。

进入项目根目录 aizws:

cd aizws

运行项目 aizws:

bee run

bee运行项目,支持热编译,就是如果你修改了 go 文件,bee 会自动重新编译,你只要刷新页面就可以看到最新的效果,不需要手动编译。

然后通过浏览器访问: http://localhost:8080 , 可以看到如下效果:

beego

提示:你也可以直接运行 main.go 文件, 例如: go run main.go,这种方式每次修改文件,需要手动编译。

下一章:beego框架 使用

beego 框架使用:beego 框架相对于仅包含路由和控制器核心模块的 echo 框架、gin 框架更为完备,beego 是一个完整的 MVC 框架。使用 beego 开发 go 语言项目,需要编写控制器 controller、业务模型 model 以及 view (html 模板)等模块。