beego 框架搭建踩坑

什么是beego

一个框架:可以理解为Golang的MVC框架
四个特点:简单化、智能化、模块化、高性能
具体好处去官网自行浏览

官网传送门

踩坑之前先安装一下Golang

1. 找go的官网下载 https://studygolang.com/articles/6165 windows下载后缀为msi的文件,之后傻瓜式安装
2. 配置GOROOT和GPATH环境变量
    https://studygolang.com/articles/6165 这里有
除了这两个以外还有Path中:
    F:\Go\bin   %GOPATH%\bin
3. 之后输入go,go version,和go env来看一下
    go env 看一下GOPATH的路径改变了没有,如果没有改变在你系统环境变量的上方有个你个人用户的环境变量,重复配置一下GOPATH如果还是不生效
    百度搜 "windows10配置GOPATH不生效的解决方案" 
4. IDE选择 : goland 好不好用去试试,可以换主题
   主题传送门:https://blog.csdn.net/qq_31339365/article/details/78323153
   安装过程中可能遇到的问题:越狱问题传送门:https://blog.csdn.net/u014044812/article/details/87621168
5. 之后测试一个小demo即可

Goland的目录结构

GOPATH:
    bin:
    pkg:
    src: 项目名:
            main.go

beego框架安装

beego 包含一些示例应用程序以帮您学习并使用 beego 应用框架。
您需要安装 Go 1.1+ 以确保所有功能的正常使用。
你需要安装或者升级 Beego 和 Bee 的开发工具:

命令在你的GOPATH下输入
go get github.com/astaxie/beego
go get -u github.com/beego/bee

为了更加方便的操作,请将 $GOPATH/bin 加入到你的 $PATH 变量中。请确保在此之前您已经添加了 $GOPATH 变量。 windows下只需要$path里面配了 %GOPATH%\bin 即可

检测是否安装:
1. 在你GOPATH/src 输入 bee new 你的项目名称
2. cd 你的项目名称
3. bee run

之后访问 localhost:8080 出现下图即搭建成功

beego框架搭建踩坑

接着可以实现一个小的功能体验一下MVC架构
1. 用goland打开你的项目

beego框架搭建踩坑

项目结构后面会出文章解释,先简单了解一下,这里我们主要了解一下controllers和routers
先看一下写法:
package controllers

import (
    "github.com/astaxie/beego"
)
//声明了一个控制器 HelloController
//这个控制器里面内嵌了beego.Controller这就是Go的嵌入方式
//也就是HelloController自动拥有了所有 beego.Controller 的方法
//这类似于面向对象里的继承

type HelloController struct {
    beego.Controller //这里相当于继承beego.Controller
}

//而beego.Controller拥有很多方法
//其中包括Init、Prepare、Post、Get、Delete、Head等方法
//我们可以通过重写的方式来实现这些方法,而我们下面的代码就是重写了Get方法。
//重写Get方法
func (hello *HelloController) Get() {
    hello.Ctx.WriteString("hello go")
}
这里写了一个hello.go 的 controller

那么上面的代码到底做了些什么呢?

首先我们导入了包 github.com/astaxie/beego。我们知道 Go 语言里面被导入的包会按照深度优先的顺序去执行导入包的初始化(变量和 init 函数,更多详情),beego 包中会初始化一个 BeeAPP 的应用和一些参数。
定义 Controller,这里我们定义了一个 struct 为 HelloController,充分利用了 Go 语言的组合的概念,匿名包含了 beego.Controller,这样我们的 HelloController 就拥有了 beego.Controller 的所有方法。
定义 RESTful 方法,通过匿名组合之后,其实目前的 HelloController 已经拥有了 Get、Post、Delete、Put 等方法,这些方法是分别用来对应用户请求的 Method 函数,如果用户发起的是 POST 请求,那么就执行 Post 函数。所以这里我们定义了 HelloController 的 Get 方法用来重写继承的 Get 函数,这样当用户发起 GET 请求的时候就会执行该函数。
Router 注册路由,路由就是告诉 beego,当用户来请求的时候,该如何去调用相应的 Controller,这里我们注册了请求 / 的时候,请求到 HelloController。这里我们需要知道,Router 函数的两个参数函数,第一个是路径,第二个是 Controller 的指针。
Run 应用,
bee run 启动,其实就是内部监听了 8080 端口:Go 默认情况会监听你本机所有的 IP 上面的 8080 端口
停止服务的话,请按 Ctrl+c。

之后在 routers 下 routers.go下添加 

// 然后将新增的HelloController添加路由,修改routers/router.go文件新增路由
beego.Router("/hello", &controllers.HelloController{})

和java的controller写法类似 /hello 是后缀 即你用localhost:8080/hello可以访问界面

如果是用goland进行开发,可以直接启动main.go,其中的配置如下
1. 点击edit configurations

beego框架搭建踩坑
beego框架搭建踩坑

下面我们访问一下 localhost:8080/hello

beego框架搭建踩坑

OVER!!!

感谢帮助我踩坑成功的各位哥哥,正是由于你们的付出,才让我们踩更少的坑,感恩
如果涉及到您的版权问题,请联系我删除,谢谢,我的邮箱:18135479521@163.com
如果对我的文章感兴趣可以关注我个人主页:ymliang.netlify.com
感谢

版权声明:本文为博主原创文章,转载请附上博文链接!

Netlify Status
Travis
Travis

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

但是beego不活跃了,issue众多

4年前 评论
YMLiang (楼主) 4年前
02040402 (作者) 4年前
YMLiang (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!