第十一单元(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 <项目名> 就可以创建一个新的项目。但是注意该命令必须在 $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>