Go语言之高级篇beego框架
Posted nulige
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言之高级篇beego框架相关的知识,希望对你有一定的参考价值。
一、beego框架
1、beego框架简介
beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。
参考官网:https://beego.me/docs/intro/
2、beego 的执行逻辑
beego 是一个典型的 MVC 架构,它的执行逻辑如下图所示:
3、beego 项目结构
一般的 beego 项目的目录如下所示:
├── conf
│ └── app.conf
├── controllers
│ ├── admin
│ └── default.go
├── main.go
├── models
│ └── models.go
├── static
│ ├── css
│ ├── ico
│ ├── img
│ └── js
└── views
├── admin
└── index.tpl
从上面的目录结构我们可以看出来 M(models 目录)、V(views 目录)和 C(controllers 目录)的结构, main.go 是入口文件。
4、beego框架安装
go get github.com/astaxie/beego
参考:https://github.com/astaxie/beego
设置GoPATH路径:
5、bee工具
go get github.com/beego/bee
new命令是新建一个Web项目,我们在命令行下执行bee new<项目名>就可以创建一个新的项目。但是注意该命令必段在$GOPATH/src 下执行。
api 命令 是用来创建API应用的。
安装步骤:
#绝对路径,运行:bee
#安装bee C:Users560140>go get github.com/beego/bee #绝对路径,运行:bee C:Users560140>%GOPATH%/bin/bee Bee is a Fast and Flexible tool for managing your Beego Web Application. USAGE bee command [arguments] AVAILABLE COMMANDS version Prints the current Bee version migrate Runs database migrations api Creates a Beego API application bale Transforms non-Go files to Go source files fix Fixes your application by making it compatible with newer versio ns of Beego dlv Start a debugging session using Delve dockerize Generates a Dockerfile for your Beego application generate Source code generator hprose Creates an RPC application based on Hprose and Beego frameworks new Creates a Beego application pack Compresses a Beego application into a single file rs Run customized scripts run Run the application by starting a local development server server serving static content over HTTP on port Use bee help [command] for more information about a command. ADDITIONAL HELP TOPICS Use bee help [topic] for more information about that topic
# 设置环境变量临时生效
#设置环境变量,临时生效 C:Users560140>set PATH=%PATH%;%GOPATH%/bin #运行bee C:Users560140>bee Bee is a Fast and Flexible tool for managing your Beego Web Application. USAGE bee command [arguments] AVAILABLE COMMANDS version Prints the current Bee version migrate Runs database migrations api Creates a Beego API application bale Transforms non-Go files to Go source files fix Fixes your application by making it compatible with newer versio ns of Beego dlv Start a debugging session using Delve dockerize Generates a Dockerfile for your Beego application generate Source code generator hprose Creates an RPC application based on Hprose and Beego frameworks new Creates a Beego application pack Compresses a Beego application into a single file rs Run customized scripts run Run the application by starting a local development server server serving static content over HTTP on port Use bee help [command] for more information about a command. ADDITIONAL HELP TOPICS Use bee help [topic] for more information about that topic.
6、beego创建项目
创建web项目: bee new WEB
C:Users560140>bee new WEB ______ | ___ | |_/ / ___ ___ | ___ / _ / _ | |_/ /| __/| __/ \\____/ \\___| \\___| v1.10.0 2019/01/29 14:25:14 WARN ? 0001 You current workdir is not inside $GOPATH/sr c. 2019/01/29 14:25:14 INFO ? 0002 Creating application... create D:GoFilessrcWEB create D:GoFilessrcWEBconf create D:GoFilessrcWEBcontrollers create D:GoFilessrcWEBmodels create D:GoFilessrcWEB outers create D:GoFilessrcWEB ests create D:GoFilessrcWEBstatic create D:GoFilessrcWEBstaticjs create D:GoFilessrcWEBstaticcss create D:GoFilessrcWEBstaticimg create D:GoFilessrcWEBviews create D:GoFilessrcWEBconfapp.conf create D:GoFilessrcWEBcontrollersdefault.go create D:GoFilessrcWEBviewsindex.tpl create D:GoFilessrcWEB outers outer.go create D:GoFilessrcWEB estsdefault_test.go create D:GoFilessrcWEBmain.go 2019/01/29 14:25:14 SUCCESS ? 0003 New application successfully created!
创建API项目: bee api API
C:Users560140>bee api API ______ | ___ | |_/ / ___ ___ | ___ / _ / _ | |_/ /| __/| __/ \\____/ \\___| \\___| v1.10.0 2019/01/29 14:25:32 WARN ? 0001 You current workdir is not inside $GOPATH/sr c. 2019/01/29 14:25:32 INFO ? 0002 Creating API... create D:GoFilessrcAPI create D:GoFilessrcAPIconf create D:GoFilessrcAPIcontrollers create D:GoFilessrcAPI ests create D:GoFilessrcAPIconfapp.conf create D:GoFilessrcAPImodels create D:GoFilessrcAPI outers create D:GoFilessrcAPIcontrollersobject.go create D:GoFilessrcAPIcontrollersuser.go create D:GoFilessrcAPI estsdefault_test.go create D:GoFilessrcAPI outers outer.go create D:GoFilessrcAPImodelsobject.go create D:GoFilessrcAPImodelsuser.go create D:GoFilessrcAPImain.go 2019/01/29 14:25:33 SUCCESS ? 0003 New API successfully created!
7、在LiteIDE中打开WEB项目
把WEB项目导入到LiteIDE中
执行项目:
D:GoFilessrcWEB>bee run ______ | ___ | |_/ / ___ ___ | ___ / _ / _ | |_/ /| __/| __/ \\____/ \\___| \\___| v1.10.0 2019/01/29 14:33:35 INFO ? 0001 Using ‘WEB‘ as ‘appname‘ 2019/01/29 14:33:35 INFO ? 0002 Initializing watcher... WEB/controllers WEB/routers WEB 2019/01/29 14:33:41 SUCCESS ? 0003 Built Successfully! 2019/01/29 14:33:41 INFO ? 0004 Restarting ‘WEB.exe‘... 2019/01/29 14:33:41 SUCCESS ? 0005 ‘./WEB.exe‘ is running... 2019/01/29 14:33:41.919 [I] [asm_amd64.s:1333] http server Running on http://:8 080
以上是关于Go语言之高级篇beego框架的主要内容,如果未能解决你的问题,请参考以下文章