beego學習筆記一:創(chuàng)建第一個beego Web項目

前提工作

環(huán)境搭建,可以參考如下兩篇教程:
搭建Go語言環(huán)境1
搭建Go語言環(huán)境2

安裝beego

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

go get github.com/astaxie/beego

常見問題:

  • git https 無法獲取,請配置本地的 git,關(guān)閉 https 驗證:
git config --global http.sslVerify false
  • 如因為網(wǎng)絡(luò)問題無法下載,請參考下面的源碼下載升級方式

beego 升級分為 go 方式升級和源碼下載升級:

  • Go 升級,通過該方式用戶可以升級 beego 框架,強烈推薦該方式:
go get -u github.com/astaxie/beego
go install  github.com/astaxie/beego

安裝bee工具

bee 工具是一個為了協(xié)助快速開發(fā) beego 項目而創(chuàng)建的項目,通過 bee 您可以很容易的進行 beego 項目的創(chuàng)建、熱編譯、開發(fā)、測試、和部署。

通過如下的方式安裝 bee 工具:

go get github.com/beego/bee

安裝完之后,bee可執(zhí)行文件默認存放在 $GOPATH/bin里面,所以需要把$GOPATH/bin添加到您的環(huán)境變量中,才可以進行下一步。
在命令行輸入bee,如果出現(xiàn)如下信息則表示安裝成功

我們可以在GOPATH/bin目錄下找到生成的bee.exe可執(zhí)行文件,如下:

新建beego web項目

new命令是新建一個 Web 項目,在命令輸入bee new <項目名>,比如我們輸入命令bee new myapp,運行結(jié)果如下:

bee工具會自動在$GOPATH/src目錄下生成myapp項目,如下:

啟動項目

命令窗口定位到myapp目錄下,運行命令bee run即可啟動項目

啟動成功,紅框部分顯示項目運行端口為8080,我們通過瀏覽器訪問:localhost:8080,即可進入如下界面

寫一個hello world

用idea打開該項目,下面是整體的項目結(jié)構(gòu)

在controllers目錄下新建hello.go文件,內(nèi)容如下:

package controllers

import (
    "github.com/astaxie/beego"
)

type HelloController struct {
    beego.Controller //這里相當于繼承beego.Controller
}

//重寫Get方法
func (hello *HelloController) Get() {
    hello.Ctx.WriteString("hello go")
}

上面的代碼顯示首先我們聲明了一個控制器 HelloController,這個控制器里面內(nèi)嵌了beego.Controller,這就是 Go 的嵌入方式,也就是HelloController自動擁有了所有 beego.Controller 的方法。這類似于面向?qū)ο罄锏睦^承。
beego.Controller擁有很多方法,其中包括Init、Prepare、Post、Get、Delete、Head等方法。我們可以通過重寫的方式來實現(xiàn)這些方法,而我們上面的代碼就是重寫了Get方法。

然后將新增的HelloController添加路由,修改routers/router.go文件,如下:

package routers

import (
    "myapp/controllers"
    "github.com/astaxie/beego"
)

func init() {
    beego.Router("/", &controllers.MainController{})
    // 新增路由
    beego.Router("/hello", &controllers.HelloController{})
}

好了,接下來是不是想著要重啟項目?不用,bee工具默認為我們的beego項目實現(xiàn)了熱加載,我們在來看看控制臺

改動代碼無需重啟項目,簡直不要太爽!

讓后我們打開瀏覽器輸入http://localhost:8080/hello 看結(jié)果

完活!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容