介绍
beego 官方定义为一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架。
beego框架有以下的一些特点:
-
简单化
RESTful 支持、MVC 模型,可以使用 bee 工具快速地开发应用,包括监控代码修改进行热编译、自动化测试代码以及自动化打包部署。
-
智能化
支持智能路由、智能监控,可以监控 QPS、内存消耗、CPU 使用,以及 goroutine 的运行状况,让您的线上应用尽在掌握。
-
模块化
beego 内置了强大的模块,包括 Session、缓存操作、日志记录、配置解析、性能监控、上下文操作、ORM 模块、请求模拟等强大的模块,足以支撑你任何的应用。
-
高性能
beego 采用了 Go 原生的 http 包来处理请求,goroutine 的并发效率足以应付大流量的 Web 应用和 API 应用,目前已经应用于大量高并发的产品中。
安装
需要注意,安装beego框架之前应该先将GOPATH配置好,如果你是新手,建议关闭go mod,这样能够降低安装难度。
如果你是windows操作系统, 那么需要先安装git。点击这里下载安装。
安装beego框架需要通过go get命令来进行安装。
go get github.com/astaxie/beego
如果项目需要升级beego,有两种方式可以选择:
第一种方式是官方推荐方式,通过go get命令进行升级。
go get -u github.com/astaxie/beego
第二种方式是通过源码下载覆盖之前的源码方式进行升级(点击下载源码)。下载源码后,将源码覆盖到$GOPATH/src/github.com/astaxie/beego
目录,执行下面的命令就可以完成升级。
go install github.com/astaxie/beego
bee工具的安装
bee工具主要作用是协助beego进行go项目开发,通过bee,可以实现对beego项目的创建、热编译、开发、测试和部署。
bee工具可以通过下面的命令来进行安装:
go get github.com/beego/bee
默认情况下,bee的可执行文件会存储在GOPATH/bin
目录下。
官方建议将
$GOPATH/bin
目录配置到环境变量当中去。如果之前没有进行相应的配置,可以自行根据操作系统进行百度,如果不配置此项,那么后续的使用将无法进行。
bee常用命令
具体的使用可以 进入官网查看。
new命令
通过new命令可以快速的创建一个beego项目,不过使用这条命令应该将目录切换到$GOPATH/src
下执行,最后会生成如下的项目结构:
bee new myproject
[INFO] Creating application...
/gopath/src/myproject/
/gopath/src/myproject/conf/
/gopath/src/myproject/controllers/
/gopath/src/myproject/models/
/gopath/src/myproject/static/
/gopath/src/myproject/static/js/
/gopath/src/myproject/static/css/
/gopath/src/myproject/static/img/
/gopath/src/myproject/views/
/gopath/src/myproject/conf/app.conf
/gopath/src/myproject/controllers/default.go
/gopath/src/myproject/views/index.tpl
/gopath/src/myproject/main.go
13-11-25 09:50:39 [SUCC] New application successfully created!
myproject
├── conf
│ └── app.conf
├── controllers
│ └── default.go
├── main.go
├── models
├── routers
│ └── router.go
├── static
│ ├── css
│ ├── img
│ └── js
├── tests
│ └── default_test.go
└── views
└── index.tpl
8 directories, 4 files
api命令
可以通过api命令快速创建一个api应用。如下:
bee api apiproject
create app folder: /gopath/src/apiproject
create conf: /gopath/src/apiproject/conf
create controllers: /gopath/src/apiproject/controllers
create models: /gopath/src/apiproject/models
create tests: /gopath/src/apiproject/tests
create conf app.conf: /gopath/src/apiproject/conf/app.conf
create controllers default.go: /gopath/src/apiproject/controllers/default.go
create tests default.go: /gopath/src/apiproject/tests/default_test.go
create models object.go: /gopath/src/apiproject/models/object.go
create main.go: /gopath/src/apiproject/main.go
apiproject
├── conf
│ └── app.conf
├── controllers
│ └── object.go
│ └── user.go
├── docs
│ └── doc.go
├── main.go
├── models
│ └── object.go
│ └── user.go
├── routers
│ └── router.go
└── tests
└── default_test.go
该命令还支持一些自定义参数自动连接数据库创建相关 model 和 controller:bee api [appname] [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
如果 conn 参数为空则创建一个示例项目,否则将基于链接信息链接数据库创建项目。
run命令
我们在开发 Go 项目的时候最大的问题是经常需要自己手动去编译再运行,bee run
命令是监控 beego 的项目,通过 fsnotify监控文件系统。但是注意该命令必须在 $GOPATH/src/appname
下执行。
这样我们在开发过程中就可以实时的看到项目修改之后的效果:
bee run
13-11-25 09:53:04 [INFO] Uses 'myproject' as 'appname'
13-11-25 09:53:04 [INFO] Initializing watcher...
13-11-25 09:53:04 [TRAC] Directory(/gopath/src/myproject/controllers)
13-11-25 09:53:04 [TRAC] Directory(/gopath/src/myproject/models)
13-11-25 09:53:04 [TRAC] Directory(/gopath/src/myproject)
13-11-25 09:53:04 [INFO] Start building...
13-11-25 09:53:16 [SUCC] Build was successful
13-11-25 09:53:16 [INFO] Restarting myproject ...
13-11-25 09:53:16 [INFO] ./myproject is running...
我们打开浏览器就可以看到效果 http://localhost:8080/
,会呈现出beego的欢迎页面。