beego框架學習(一)
beego簡介
Beego是一個快速開發Go應用的http框架,可用於快速開發Api、web及後端服務等各種應用,是一個RESTful框架。
beego的架構
Beego由八個獨立模塊構建,是一個高度解耦的應用,用戶可以不是用beego的http邏輯使用裏面的任意模塊。具體架構設計如下:
beego執行邏輯
beego是一個經典的mvc框架,它的執行邏輯如下:
與之對應的項目目錄結構如下:
├── conf
│ └── app.conf
├── controllers
│ ├── admin
│ └── default.go
├── main.go
├── models
│ └── models.go
├── static
│ ├── css
│ ├── ico
│ ├── img
│ └── js
└── views
├── admin
└── index.tpl
我們可以看出mian.go是入口文件,controllers是邏輯控制模塊,models是模型模塊,views是視圖模塊。
beego的安裝
beego框架的安裝方法非常簡單,使用一下指令即可
go get github.com/astaxie/beego
go語言在這一點我認為是做的比較好的,直接用指令就能直接下載安裝好。當然上述指令需要git支持。用戶同樣可以在github上下載源代碼然後放置到GOPATH下的src/github.com/astaxie/目錄下,然後使用go install
就可直接安裝。
beego還有一個工具bee用於協助快速開發beego項目,通過bee可以很容易的進行構建、熱編譯、開發、測試和部署。
bee工具可以使用go指令直接下載安裝:
go get github.com/beego/bee
部分用戶可能在安裝了bee工具後運行bee時會遇到被系統killed的問題,這個問題作者也沒說明具體是什麽原因,遇到這種問題的用戶可以直接從github.com/beego/bee上clone下載最新源碼到GOPATH\src\github.com\beego\下然後checkout hot-fix-support分支,然後執行go install
指令進行手動安裝即可。
執行
bee version
若出現以下信息便說明安裝成功且運行正常:
$ bee version
______
| ___ | |_/ / ___ ___
| ___ \ / _ \ / _ | |_/ /| __/| __/
\____/ \___| \___| v1.8.1
├── Beego : Beego is not installed. Please do consider installing it first: https://github.com/astaxie/beego
├── GoVersion : go1.8
├── GOOS : darwin
├── GOARCH : amd64
├── NumCPU : 4
├── GOPATH : /Users/alpher/go
├── GOROOT : /usr/local/Cellar/go/1.8/libexec
├── Compiler : gc
└── Date : Wednesday, 5 Apr 2017
創建beego項目
安裝完以上工具我們就可以直接通過bee new projectName
來構建一個beego框架的項目
$ bee new beegoDemo
______
| ___ | |_/ / ___ ___
| ___ \ / _ \ / _ | |_/ /| __/| __/
\____/ \___| \___| v1.8.1
2017/04/05 10:24:49 INFO ? 0001 Creating application...
create /Users/alpher/go/src/beegoDemo/
create /Users/alpher/go/src/beegoDemo/conf/
create /Users/alpher/go/src/beegoDemo/controllers/
create /Users/alpher/go/src/beegoDemo/models/
create /Users/alpher/go/src/beegoDemo/routers/
create /Users/alpher/go/src/beegoDemo/tests/
create /Users/alpher/go/src/beegoDemo/static/
create /Users/alpher/go/src/beegoDemo/static/js/
create /Users/alpher/go/src/beegoDemo/static/css/
create /Users/alpher/go/src/beegoDemo/static/img/
create /Users/alpher/go/src/beegoDemo/views/
create /Users/alpher/go/src/beegoDemo/conf/app.conf
create /Users/alpher/go/src/beegoDemo/controllers/default.go
create /Users/alpher/go/src/beegoDemo/views/index.tpl
create /Users/alpher/go/src/beegoDemo/routers/router.go
create /Users/alpher/go/src/beegoDemo/tests/default_test.go
create /Users/alpher/go/src/beegoDemo/main.go
2017/04/05 10:24:49 SUCCESS ? 0002 New application successfully created!
項目創建好後,我們需要進入到項目中,使用bee run projectName
運行新創建的beego項目,使用bee run
命令的目的是達到熱編譯的效果,能實時查看到我們修改的內容效果。
$ bee run beegoDemo
______
| ___ | |_/ / ___ ___
| ___ \ / _ \ / _ | |_/ /| __/| __/
\____/ \___| \___| v1.8.1
2017/04/05 10:29:29 INFO ? 0001 Using ‘beegoDemo‘ as ‘appname‘
2017/04/05 10:29:29 INFO ? 0002 Initializing watcher...
beegoDemo/controllers
beegoDemo/routers
beegoDemo
2017/04/05 10:29:31 SUCCESS ? 0003 Built Successfully!
2017/04/05 10:29:31 INFO ? 0004 Restarting ‘beegoDemo‘...
2017/04/05 10:29:31 SUCCESS ? 0005 ‘./beegoDemo‘ is running...
2017/04/05 10:29:31 [I] [asm_amd64.s:2197] http server Running on http://:8080
這樣我們的應用就已經在8080端口運行了,訪問localhost:8080就可以看到如下效果了:
beego框架學習(一)