Beego提供了详细的支付文书档案,beego 是八个连忙支付 Go 应用的 HTTP

GO 语言的web框架许多,相对来讲, Beego
框架,入门轻巧,文书档案齐全(汉语),功效壮大,本文以Beego 示例.

Beego介绍

  beego笔者认为是go初学者相比便于上手的一门MVC
Web框架。轻巧易懂,最主要的少数就是提供了中文文书档案,那对于自个儿那种罗马尼亚语工夫相比较差的人的话正是福音。

  beego的官方网址上是这么介绍beego的:“beego 是多少个赶快支付 Go 应用的 HTTP
框架,他得以用来相当的慢支付 API、Web 及后端服务等种种应用,是贰个 RESTful
的框架,重要设计灵感来源于 tornado、sinatra 和 flask
那八个框架,不过结合了 Go 本人的一对天性(interface、struct
嵌入等)而安排的3个框架”。从中可以见见beego能够急忙支付API接口、能够兑现服务端的各类应用

Beego提供了详细的开拓文书档案:http://beego.me/docs/intro/

Beego官网

  beego官网 : https://beego.me/

  github : https://github.com/beego

1.安装Beego和Bee工具

beego 的设置是卓绝群伦的 Go 安装包的款式:

终端运行:go get github.com/astaxie/beego,安装在$GOPATH/src目录中

图片 1

bee 工具是一个为了扶持快速支付 beego
项目而创办的品类,您能够经过 bee
快捷创立项目、落成热编写翻译、开拓测试以及支付完以往打包发表的1整套从创制、开垦到陈设的方案。

 终端运转:go get github.com/beego/bee,安装完之后,bee可试行文件暗中认可存放在$GOPATH/bin个中,所以需求把$GOPATH/bin累加到你的环境变量中,才能够举办下一步。

图片 2

 2.新建四个 Web 项目

执行 bee new ``myproject,但是注意该命令必须在 $GOPATH/src 下实行。最终会在 $GOPATH/src 相应目录下转移如下目录结构的品类:

myproject
├── conf
│   └── app.conf
├── controllers
│   └── default.go
├── main.go
├── models
├── routers
│   └── router.go
├── static
│   ├── css
│   ├── img
│   └── js
├── tests
│   └── default_test.go
└── views
    └── index.tpl

Beego安装

  beego 包括部分示范应用程序以帮你学习并利用 beego 应用框架。

  您需求设置 Go 1.一+ 以确认保证全部功用的常常使用。

  你必要设置 Beego 和 Bee 的开采工具:

$ go get github.com/astaxie/beego
$ go get github.com/beego/bee

  注意:

  1. beege和bee是八个概念。beego是框架,bee是工具,是命令。
  2. 在安装逼eego前,先承认是不是将$GOPATH/bin写入GO环境中。

三.运维项目

开垦LiteIDE,加载项目目录,运维:

图片 3

网站已开发银行,大家登入http://localhost:8080/看看效果

图片 4

 

Bee工具的使用

 安装到位Bee后,在调节台输入bee

Bee is a tool for managing beego framework.

Usage:

    bee command [arguments]

The commands are:

    new         Create a Beego application
    run         run the app and start a Web server for development
    pack        Compress a beego project into a single file
    api         create an API beego application
    hprose      create an rpc application use hprose base on beego framework
    bale        packs non-Go files to Go source files
    version     prints the current Bee version
    generate    source code generator
    migrate     run database migrations
    fix         fix the beego application to make it compatible with beego 1.6

Use "bee help [command]" for more information about a command.

Additional help topics:


Use "bee help [topic]" for more information about that topic.

重在有上述十个指令,上面说多少个常用的吩咐

 new命令

  new 命令是新建二个 Web 项目,大家在命令行下奉行 bee new <项目名> 就足以成立二个新的品类。不过注意该命令必须在 $GOPATH/src 下推行。最终会在 $GOPATH/src 相应目录下转移如下目录结构的档次:

bogon:src zuxingyu$ bee new cnblogs
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.5.2
2016/10/31 22:16:11 [INFO] Creating application...
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/conf/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/controllers/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/models/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/routers/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/tests/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/static/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/static/js/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/static/css/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/static/img/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/views/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/conf/app.conf
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/controllers/default.go
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/views/index.tpl
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/routers/router.go
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/tests/default_test.go
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/main.go
2016/10/31 22:16:11 [SUCC] New application successfully created!

  那样3个beego框架的Go项目就生成了

 api命令

  上面的 new 命令是用来新建 Web 项目,可是多数用户采用 beego 来开辟API 应用。所以那么些 api 命令就是用来创建 API
应用的,属于纯服务端业务。施行命令之后如下所示:

bogon:src zuxingyu$ bee api cnblogsApi
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.5.2
2016/10/31 22:19:51 [INFO] Creating API...
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/conf
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/controllers
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/tests
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/conf/app.conf
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/models
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/routers/
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/controllers/object.go
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/controllers/user.go
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/tests/default_test.go
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/routers/router.go
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/models/object.go
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/models/user.go
    create     /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogsApi/main.go
2016/10/31 22:19:51 [SUCC] New API successfully created!

  从地点的目录大家得以看出和 Web 项目相比,少了 static 和 views
目录,多了八个 test 模块,用来做单元测试的。

  同时,该命令还支持部分自定义参数自动一连数据库创建连锁model和controller:
  bee api [appname] [-tables=“”] [-driver=mysql]
[-conn=root:@tcp(127.0.0.1:3306)/test]
  固然conn参数为空则成立二个示范项目,不然将基于链接新闻链接数据库创造项目。

 run命令

  bee run 命令是监察和控制 beego
的档次,通过 fsnotify监控文件系统。不过注意该命令必须在$GOPATH/src/appname下执行。 

 

bogon:src zuxingyu$ cd cnblogs
bogon:cnblogs zuxingyu$ bee run
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.5.2
2016/10/31 22:22:30 [INFO] Using 'cnblogs' as 'appname'
2016/10/31 22:22:30 [INFO] Initializing watcher...
2016/10/31 22:22:30 [TRAC] Directory(/Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/controllers)
2016/10/31 22:22:30 [TRAC] Directory(/Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs)
2016/10/31 22:22:30 [TRAC] Directory(/Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/routers)
2016/10/31 22:22:30 [TRAC] Directory(/Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/tests)
2016/10/31 22:22:30 [INFO] Start building...
2016/10/31 22:22:34 [SUCC] Build was successful
2016/10/31 22:22:34 [INFO] Restarting cnblogs ...
2016/10/31 22:22:34 [INFO] ./cnblogs is running...
2016/10/31 22:22:34 [I] [asm_amd64.s:2086] http server Running on http://:8080

  注意:Linux/Mac Os 在命令行运营时,截止直接用Ctrl + C 甘休

 pack命令    

    pack 目录用来公布应用的时候打包,会把品种打包成 zip
包,那样大家配备的时候一向把包装之后的种类上传,解压就足以布署了。恐怕在后头工作中会使用Docker去做容器。具体的在背后使用后告诉大家。

bogon:cnblogs zuxingyu$ bee pack
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.5.2
2016/10/31 22:28:03 Packaging application: /Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs
2016/10/31 22:28:03 Building application...
2016/10/31 22:28:03 Env: GOOS=darwin GOARCH=amd64
2016/10/31 22:28:06 Build successful
2016/10/31 22:28:06 Excluding relpath prefix: .
2016/10/31 22:28:06 Excluding relpath suffix: .go:.DS_Store:.tmp
2016/10/31 22:28:07 Writing to output: `/Users/zuxingyu/Documents/GoWorkSpace/src/cnblogs/cnblogs.tar.gz`

  使用命令后会打出3个tar.gz包。放入Linux/Mac OS 解压就能够。

 version 命令

  那么些命令是动态获取bee、beego和Go的本子,那样假如用户出现错误,能够透过该命令来查看当前的本子,没啥要求解释的。只是查看下当前版本。

bogon:cnblogs zuxingyu$ bee version
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.5.2

├── Beego     : 1.7.1
├── GoVersion : go1.7.1
├── GOOS      : darwin
├── GOARCH    : amd64
├── NumCPU    : 4
├── GOPATH    : /Users/zuxingyu/Documents/GoWorkSpace
├── GOROOT    : /usr/local/go
├── Compiler  : gc
└── Date      : Monday, 31 Oct 2016

 generate 命令

   那是1个根本的命令,尤其是生成api项目时,generate
docs能够生成swagger的文书档案。

bee generate scaffold [scaffoldname] [-fields=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
    The generate scaffold command will do a number of things for you.
    -fields: a list of table fields. Format: field:type, ...
    -driver: [mysql | postgres | sqlite], the default is mysql
    -conn:   the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test
    example: bee generate scaffold post -fields="title:string,body:text"

bee generate model [modelname] [-fields=""]
    generate RESTful model based on fields
    -fields: a list of table fields. Format: field:type, ...

bee generate controller [controllerfile]
    generate RESTful controllers

bee generate view [viewpath]
    generate CRUD view in viewpath

bee generate migration [migrationfile] [-fields=""]
    generate migration file for making database schema update
    -fields: a list of table fields. Format: field:type, ...

bee generate docs
    generate swagger doc file

bee generate test [routerfile]
    generate testcase

bee generate appcode [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-level=3]
    generate appcode based on an existing database
    -tables: a list of table names separated by ',', default is empty, indicating all tables
    -driver: [mysql | postgres | sqlite], the default is mysql
    -conn:   the connection string used by the driver.
             default for mysql:    root:@tcp(127.0.0.1:3306)/test
             default for postgres: postgres://postgres:postgres@127.0.0.1:5432/postgres
    -level:  [1 | 2 | 3], 1 = models; 2 = models,controllers; 3 = models,controllers,router

 这几个都是自个儿眼下常用的吩咐。假若有别的命令以后能够开个专题专门尝试这一个命令。

 

相关文章