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就可以看到如下效果了:

發佈了32 篇原創文章 · 獲贊 11 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章