介绍Beego的基本信息。

1. 什么是Beego

1.1 Beego的特点

beego是一个快速开发Go应用的HTTP框架,他可以用来快速开发API、Web及后端服务等各种应用。他的优势在于:

  • 简单化:遵从REST设计理念,通过标准的几个动作来操纵资源。此外还可以用bee工具辅助,提高开发效率。
  • 智能化:beego框架封装了路由模块,支持智能路由,智能监控,并可以监控内存消耗,CPU使用以及goroutine的运行状况,方便开发者对线上应用进行监控分析。
  • 模块化:beego根据功能对代码进行解耦封装,形成了Session,Cache,Log,配置解析,性能监控,上下文操作,ORM等独立的模块,方便开发者进行使用。
  • 高性能:采用Go原生的http请求,goroutine的并发效率应付大流量的Web应用和API应用。

1.2 Beego的架构

Beego由八个独立模块构建,是一个高度解耦的应用,用户可以不使用beego的http逻辑使用里面的任意模块。

解耦,就是将程序积木化,各个积木块都是独立的,只要他们之间的接口(形状)匹配,就可以灵活地组合在一起。

一个软件系统由多个模块组成,在划分模块时,要把功能关系紧密的放到一个模块中(高内聚),功能关系远的放到其它模块中。模块之间的联系越少越好,接口越简单越好。

具体框架设计如下:

这些模块的组成运行逻辑如下:

1.3 Beego项目结构

一般的 beego 项目的目录如下所示,这是一个典型的MVC架构。

├── conf
│   └── app.conf
├── controllers
│   ├── admin
│   └── default.go
├── main.go
├── models
│   └── models.go
├── static
│   ├── css
│   ├── ico
│   ├── img
│   └── js
└── views
    ├── admin
    └── index.tpl

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。

  • Model(模型)表示应用程序核心
  • View(视图)显示数据(数据库记录)
  • Controller(控制器)处理输入(写入数据库记录

这种设计方法将业务逻辑、数据、界面显示分离的方法组织代码。

2. Beego的安装与运行

beego 的安装是典型的 Go 安装包的形式:

go get github.com/astaxie/beego

如果需要升级则是:

go get -u github.com/astaxie/beego

此外,为了快速开发,还需要安装bee工具:

go get github.com/beego/bee

以上内容安装好后,我们可在GOPATH/src/github.com中找到源码,以及在GOPATH/bin中找到bee.exe。此外还需要将GOPATH/bin添加到环境变量中。

如果输入bee version能够出现标志,即说明配置成功。

______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.10.0

之后在控制台输入bee new projectname即可创建一个新的项目。运行后,在localhost:8080中可以看到如下标志,即说明项目成功运行。