Goweb开发之Beego框架实战:第⼀节Beego框架介绍
各位同学⼤家好,从今天开始,我们开始进⼊⼀个新的阶段的学习。从今天开始我们开始⼀个新的框架知识的学习--GoWeb开发之Beego 实战项⽬。
beego官⽅⽂档:
⼀、beego简介:
1.beego是⼀个使⽤Go语⾔来开发WEB引⽤的GoWeb框架,该框架起始于2012年,由⼀位台湾的程序⼤⽜编写并进⾏公开,其⽬的就是为⼤家提供⼀个⾼效率的web应⽤开发框架。该框架采⽤模块封装,使⽤简单,容易学习。⽅便技术开发者快速学习并进⾏实际开发。对程序员来说,beego掌握起来⾮常简单,只需要关注业务逻辑实现即可,框架⾃动为项⽬需求提供不同的模块功能。
好的,在对beego框架有了⼀个简单基本的了解之后,我们给⼤家介绍⼀下beego的⼀些特性。
2.Beego框架的主要特性:
1)简单化:RESTful⽀持,MVC模型;可以使⽤bee⼯具来提⾼开发效率,⽐如监控代码修改进⾏热编译,⾃动化测试代码,以及⾃动化打包部署等丰富的开发调试功能。
2)智能化:beego框架封装了路由模块,⽀持智能路由,智能监控,并可以监控内存消耗,CPU使⽤以及goroutine的运⾏状况,⽅便开发者对线上应⽤进⾏监控分析。
3)模块化:beego根据功能对代码进⾏节耦封装,形成了Session,Cache,Log,配置解析,性能监控,上下⽂操作,ORM等独⽴的模块,⽅便开发者进⾏使⽤。
4)⾼性能:beego采⽤Go原⽣的http请求,goroutine的并发效率应付⼤流量的Web应⽤和API应⽤。
⼤家需要记住beego的⼏个特性,⼀⽅⾯在⾯试过程中,如果有⾯试官问起⼤家关于goweb开发的相关知识的时候,有可能问beego框架有优势或者有什么特点,这个时候需要⼤家能够对beego框架这些特点做⼀个介绍;另⼀⽅⾯,咱们在后⾯实际的学习和编码过程中,⼤家感受⼀下这些特性在实际项⽬中为我们带来的便利和⾼效。
⼆、beego安装
在对beego的特点做了简单了解之后,我们就真正开始来搭建beego的环境,开始进⼊实际的编码阶段。
⾸先我们进⾏beego源码的安装。说到beego的源码安装,这⾥需要我们使⽤⼀个命令,这个命令之前⼤家应该都接触过吧?我们使⽤go get命令来进⾏beego的安装。
【注意】:在安装的时候,有⼀点⼤家要注意,beego框架要求Go 语⾔版本1.1+以上,这个我们⼤家的版本应该⾄少也是1.9的吧,应该都没有。或者⼤家现在在命令⾏中,执⾏go version查看⼀下⾃⼰的go语⾔版本,如下所⽰:
本地环境go语⾔版本就是1.10.4版本。
现在,我们来执⾏安装命令:go get  等待go将源代码下载安装完毕,我们就可以在我们⾃⼰设置的GOPATH下⾯的src⽬录下到beego 框架源码。
那么,我们⾸先来看⼀个最最简单的例⼦beego项⽬的例⼦,这个例⼦就⼀句话:
1、编写第⼀个beego⽰例项⽬
package main
import ""
func main() {
("第⼀个beego案例")
beego.Run("localhost:8080")
}
2、编译
go build -o
3、执⾏
./hello
4、效果查询
访问浏览器localhost:8080
我们在浏览器当中进⾏访问:,可以看到,在我们的浏览器当中出现了404,代表着页⾯没到;这个很好理解,因为没有指定默认的
页⾯,所以后台项⽬就不知道默认指向哪个页⾯路径,因此就提⽰404。但是,看后台打出了⽇志,这就说明,前端的请求确实到了后台main⽅法⾥⾯进⾏执⾏。
⼆、命令⾏⼯具Bee
现在,尝试来进⾏对代码进⾏修改,就简单的添加⼀⾏打印⽇志:("代码修改")。这个时候,如果我们要想让代码⽣效,必须把原来正在执
⾏的程序停⽌,然后重新执⾏编码和运⾏命令,我们来实际尝试⼀下。
经过我们的尝试,我们可以发现,确实第⼆次的重新启动的程序打印出了两条后台⽇志,这说明我们修改的代码⽣效了。
现在向⼤家引出beego的⼀个⼯具:bee。
bee简介 bee是⼀个开发⼯具,是协助Beego框架开发项⽬时进⾏创建项⽬,运⾏项⽬,热部署等相关的项⽬管理的⼯具。beego是源码,负责开发,bee是⼯具,负责构建和管理项⽬。介绍beego的特性的时候说过其中⼀点beego⽀持代码热部署吧。所谓热部署就
是,当修改代码的时候,可以不⽤停⽌服务重新启动,内置的beego就能够实时感知源代码程序编码,并进⾏实时⽣效,这就是热部
署,这样就⼤⼤⽅便了开发⼈员和维护⼈员要频繁的进⾏服务停⽌,服务重启的过程。现在,来看看bee都有哪些功能,如何进⾏操
作?
bee安装 如同beego⼀样,如果要使⽤bee,⾸先要进⾏安装,同样的道理,先使⽤go get命令安ee⼯具。bee安装命令:
go get github/beego/bee
bee功能命令 安装结束以后,进⼊到GOPATH对应的⽬录中,然后进⼊到bin⽬录下,可以看到有bee这个可执⾏⽂件,这就是安装的bee⼯具的可执⾏⽂件,在该⽬录中,我们在终端中执⾏以下bee命令,然后回车,会发现列出很多关于bee的⽤法,如下图:
* **new命令:**
```
bee new ProjectName
```
该命令表⽰新建⼀个全新的web项⽬,有⼀点需要注意:该命令必须在src⽬录下执⾏,才能⽣效,⾃动⽣成web项⽬的⽬录结构。如果在其他⽬录下⾯执⾏bee new命* **api命令:**
```
bee api ProjectNames
web浏览器在哪里打开
```
该命令表⽰⽤来创建开发API应⽤。很多⽤户写前端的后台接⼝也是通过go来写,因此bee专门提供了⼀个写api接⼝应⽤的命令。通过⽬录结构可以看到,和Web项* **run命令:**
```
bee run
```
命令⽤来运⾏项⽬,并且能够通过监控⽂件系统,实时进⾏代码的热部署更新。也就是,我们代码逻辑进⾏了修改,不⽤停⽌应⽤,在前端页⾯就能看到改变。
* **pack命令:**
```
bee pack
```
pack命令⽤来发布应⽤的时候的⼤包操作,该命令会把项⽬⼤包成zip包,然后我们就可以在部署的时候直接把⼤包后的项⽬上传到服务器,然后解压进⾏部署。
* **version命令:**
```
bee version
```
version命令来查看当前bee,beego,go的版本。
三、使⽤Bee⼯具
常见的⼏个bee⼯具命令就是上⾯的⼏个,⽴即来练习使⽤⼀下。打开命令⾏终端,进⼊到GOPATH所对应的⽬录,然后进⼊到src⽬录中。
1、创建项⽬ 使⽤bee run命令来新建⼀个案例项⽬,⽐如我们新建⼀个BeegoDemo2的项⽬,我们执⾏命令:bee new
BeegoDemo2,命令执⾏效果如下:
可以看到,终端中输出了bee的图标和版本,并且打印出了很多⽇志,创建了很多⽂件和⽬录。这就是bee new命令的执⾏效果,表⽰新建⼀个项⽬。
2、项⽬⽬录结构 使⽤我们的开发公局goland来打开新建的BeegoDemo2项⽬,并查看⼀下项⽬⽬录组织结构:
3、运⾏项⽬ 现在使⽤bee命令来运⾏⼀下案例,看⼀下效果。在开发⼯具下⽅的terminal中,打开terminal,输⼊命令:bee run,
运⾏效果如下:
可以看到输出⽇志说,http服务已经在端⼝运⾏,现在我们去浏览器中验证⼀下,效果如下:
四、执⾏流程分析
Go语⾔执⾏的时候是执⾏main包下⾯的init函数,main函数依次执⾏。因此,先到⽂件。
如上图就是⽂件内容,那么代码如何执⾏呢?⾸先,import导⼊了两个包,⼀个是routers,⼀个是beego。⽽在routers包前⾯,可以看到有⼀个“_”,这表明是引⼊routers包,并执⾏init⽅法。这⾥涉及⼀个知识点,就是Go语⾔的执⾏过程,这⾥给⼤家⼀张程序执⾏流程图:
根据上图,可以得知程序⾸先到routers包下执⾏init⽅法。到⾥⾯看⼀下具体的代码:
可以看到在⽂件中有⼀个init⽅法,看到beego.Router()这句代码。router表⽰的是路由的意思,这个函数的功能是映射 URL 到controller,第⼀个参数是 URL (⽤户请求的地址),这⾥注册的是 /,也就是访问的不带任何参数的 URL,第⼆个参数是对应的Controller,即将把请求分发到那个控制器来执⾏相应的逻辑,现在去这⾥设置的MainController中去看⼀下有什么⽅法:
MainController结构体及函数声明在⽂件中。⽽这⾥就看到⼀个Get⽅法,⽅法中有三⾏代码。
上⽂在浏览器中访问的是:,这是⼀个get请求,请求到了后台以后,什么请求参数都没有,因此,就会被“/”拦截,执⾏到MainController中的代码,因为是get请求,所以这⾥⾃动到Get函数并进⾏执⾏。
在get函数⾥⾯,有三句代码,前两句c.Data[]= ""表⽰设置返回的数据字段及内容,最后⼀句c.TplName表⽰设置处理该请求指向某个模板⽂件,这⾥指向了index.tpl,那么index.tpl⽂件在哪⾥呢?可以查看项⽬⽬录结构,在views下⾯,views下⾯存放⼀些模板⽂件。
模板⽂件
简单解释⼀下,通常的页⾯都是使⽤静态的html+css+js等这些静态代码来进⾏页⾯的布局,页⾯效果控制等,⽽把页⾯的数据使⽤变

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。