beego框架学习

一、安装与使用

  go get github.com/astaxie/beego

package main

import "github.com/astaxie/beego"

func main() {
    beego.Run()
}

 二、beego中的组件

beego框架学习_第1张图片

三、Beego执行流程

 四、beego目录结构

beego框架学习_第2张图片

conf配置文件

controllers控制台

main入口函数

model业务逻辑

static静态文件

view视图

五、bee工具安装

go get github.com/beego/bee

快速构建beego项目

创建web项目  bee new 项目的名字

创建api项目  bee api 项目的名字

启动文件在GOPATH的bin目录下
bee.exe new projectname  项目创建GOPATH的src下面

六、bee路由配置

  beego.Router("/", &controllers.MainController{})

Router方法设置url和处理该url的controller
程序启动时路由配置加载好,保存在map中
请求处理时,通过请求的url进行查找对应的controller,把处理路由到controller进行执行
开发人员只需要编写自己的controller就可以了

七、controller代码分析

用户的controller嵌套bee.Controller, 继承bee.Controller所有属性和方法
Controller默认使用restful的风格,Get请求对应Get方法
请求处理时,通过请求的url进行查找对应的controller,把处理路由到controller进行执行
通过业务逻辑处理之后,把数据赋值给Controller.Data这个map即可

八、model层实现业务逻辑

九、views层实现模板的渲染

Beego模板默认支持 .tpl和.html两种后缀
beego.AddTemplateExt增加新的模板后缀
Beego模板用的就是Go官网自带的模板

十、静态文件处理

Beego默认使用static目录作为静态文件目录
beego. SetStaticPath增加新的静态文件目录

十一、配置文件使用

  beego 默认会解析conf/app.conf

appname = beepkg
httpaddr = '127.0.0.1'  //设置外网访问
httpport = 9090         //访问端口
runmode = 'dev'
autorender = false      //模板是否自动渲染
recoverpanic = false    //是否捕获panic
viewpath = 'myview'     //视图的路径

十二、配置文件使用

  自定义配置

beego框架学习_第3张图片

  自定义配置读取

beego框架学习_第4张图片

beego框架学习_第5张图片

  不同级别的配置读取

beego框架学习_第6张图片

 

beego.AppConfig.String(“dev::httpport”)

十三、beego路由详解

  固定路由

beego框架学习_第7张图片

  正则路由

beego框架学习_第8张图片

 

this.Ctx.Input.Param(":id")
this.Ctx.Input.Param(":username")

  自定义方法

beego框架学习_第9张图片

 十四、获取用户提交的参数

  • Controller中的方法获取(get和post数据)

beego框架学习_第10张图片

 

  • 直接通过Ctx.Input.RequestBody获取原始的数据
  • 配置文件里设置 copyrequestbody = true

beego框架学习_第11张图片

 

十五、日志使用

  • beego.SetLogger("file", `{"filename":"logs/test.log"}`)
  • beego.BeeLogger.DelLogger("console")

beego框架学习_第12张图片

 

  • beego.SetLevel(beego.LevelInformational)
  • beego.SetLogFuncCall(true) 设置打印行号

beego框架学习_第13张图片

 

转载于:https://www.cnblogs.com/domestique/p/8589746.html

你可能感兴趣的:(beego框架学习)