对重复的一系列动作的观察和思考,获得一个规律,当我们可以把打包之后,就可以很快实现之前重复之后的目的。
之前我们创建一个gin的项目,都是一个个文件/文件夹来创建的,而对于同一个类型的项目,它们的项目结构往往是大同小异的。如果我们每次都手动创建这相同的部分,就显得没那么必要,我们很需要把相同的部分做到自动化。
beego就是可以帮助我们自动创建项目结构的一个web框架。同时beego框架里面包含了很多web开发经常需要的小框架或者说功能。这样就减少了我们在管理项目的依赖包的选择成本,使得做出来的项目在这些基本的方面保持一致,使得项目更容易理解和复用。
我们看看如何用beego 创建一个基本的项目。
第一步还是类似使用gin框架一样,需要下面做这些功能的包:
go get github.com/astaxie/beego
go get github.com/beego/bee
需要在命令行里面执行上面2个命令,第一个是beego框架,第二个是用来做比如创建项目的命令行工具。
然后我们需要把GOPATH/bin添加到环境变量里面,这样后面才可以在GOPATH/src下面通过bee工具创建项目。
最后一步就是创建一个beego项目:
bee new try-beego
用goland打开这个项目,结构如下:
我们知道项目里面不同的文件夹或者说模块对应着不同的作用,比如conf一般是用来容纳项目的配置信息,这里的routers是来写路由的,tests也是比较常见的,用来写测试的。其他如controllers,models,views是来自MVC这个概念。MVC是做web开发里面出现的分层概念。M代表是model,也就是业务里面提炼的实体,C是controller,用来接收请求的,V是view,表示视图的渲染,也就是前端的部分。这个概念在spring里面也是很流行的,spring里面有专门做mvc的springmvc框架。
接下来看看程序的入口main方法:
package main
import (
_ "try-beego/routers"
"github.com/astaxie/beego"
)
func main() {
beego.Run()
}
我们先来运行这个项目,第一次运行会出现下面的报错:
missing go.sum entry for module
providing package github.com/astaxie/beego (imported by try-beego); to add:
go get try-beego
我们需要在Terminal里面刷新一下依赖,执行go的命令:
go mod tidy
go build -mod=mod
当看到控制台如下信息就表示成功了:
2023/02/11 14:27:29 SUCCESS ▶ 0005 './try-beego.exe' is running...
2023/02/11 14:27:47.763 [I] [asm_amd64.s:1371] http server Running on http://:8080
接着我们访问http://localhost:8080/ 出现 如下界面:
以上就是创建一个beego项目的过程。
总结 MVC是web开发的一种流行模式,它体现了软件开发的分层思想。就像完成一件事情,在社会上,往往都是需要多个人或者说团队来协作完成。
