go

go


第十一单元(Beego框架安装)

<h1>一、Beego简介</h1> <h2>1.1 概念</h2> <p>beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。</p> <h2>1.2 特性</h2> <blockquote> <p>简单化</p> </blockquote> <p>RESTful 支持、MVC 模型,可以使用 bee 工具快速地开发应用,包括监控代码修改进行热编译、自动化测试代码以及自动化打包部署。</p> <blockquote> <p>智能化</p> </blockquote> <p>支持智能路由、智能监控,可以监控 QPS、内存消耗、CPU 使用,以及 goroutine 的运行状况,让您的线上应用尽在掌握。</p> <blockquote> <p>模块化</p> </blockquote> <p>beego 内置了强大的模块,包括 Session、缓存操作、日志记录、配置解析、性能监控、上下文操作、ORM 模块、请求模拟等强大的模块,足以支撑你任何的应用</p> <blockquote> <p>高性能</p> </blockquote> <p>beego 采用了 Go 原生的 http 包来处理请求,goroutine 的并发效率足以应付大流量的 Web 应用和 API 应用,目前已经应用于大量高并发的产品中。</p> <h2>二、 安装与命令使用</h2> <h3>2.1 beego 安装</h3> <p>​ go get github.com/astaxie/beego</p> <h3>2.2 命令使用</h3> <blockquote> <p>bee命令安装</p> </blockquote> <pre><code>go get github.com/beego/bee</code></pre> <blockquote> <p>new 命令</p> </blockquote> <pre><code>new 命令是新建一个 Web 项目,我们在命令行下执行 bee new &lt;项目名&gt; 就可以创建一个新的项目。但是注意该命令必须在 $GOPATH/src 下执行</code></pre> <blockquote> <p>api 命令</p> </blockquote> <pre><code>上面的 new 命令是用来新建接口项目,不过很多用户使用 beego 来开发 API 应用。所以这个 api 命令就是用来创建 API 应用的</code></pre> <blockquote> <p>run 命令</p> </blockquote> <pre><code>我们在开发 Go 项目的时候最大的问题是经常需要自己手动去编译再运行,bee run 命令是监控 beego 的项目,通过 fsnotify监控文件系统。但是注意该命令必须在$GOPATH/src/appname下执行。</code></pre> <blockquote> <p><a href="https://beego.me/docs/install/bee.md">更多命令</a></p> </blockquote> <h1>三、参数配置和路由配置</h1> <h2>3.1 配置文件</h2> <pre><code>beego 默认会解析当前应用下的 conf/app.conf 文件 appname = beepkg httpaddr = "127.0.0.1" httpport = 9090 runmode ="dev" autorender = false recoverpanic = false viewspath = "myview" mysqluser = "root" mysqlpass = "rootpass" mysqlurls = "127.0.0.1" [dev] httpport = 8080 mysqldb = "dev" [prod] httpport = 8088 mysqldb = "prod" [test] httpport = 8888 mysqldb = "test"</code></pre> <p>`</p> <h2>3.2 获取参数</h2> <pre><code>c.Ctx.WriteString(beego.AppConfig.String("appname")) beego.AppConfig.String("mysqlpass") beego.AppConfig.String("mysqlurls") beego.AppConfig.String("mysqldb") beego.AppConfig.String(“dev::mysqluser”)</code></pre>

页面列表

ITEM_HTML