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框架的主要内容,如果未能解决你的问题,请参考以下文章

Go语言之高级篇Beego框架之爬虫项目实战

go语言web框架beego安装(go mod方式)

Go 语言 应用框架 beego

如何使用go语言的beego框架的orm

Go语言框架:Beego vs Gin 的区别

Beego开源项目 收藏