目录
- 1. 概述
- 1.1. 概述
- 1.2. 环境搭建
- 1.3. 常用命令
- 1.4. 主要模块及项目结构
- 1.5. 开发参考
- 2. 配置
- 2.1. 配置文件
- 3. 基础开发
- 3.1. Controller设计
- 3.2. 路由 router
- 4. 问题排查
- 4.1. 内存泄漏
- 4.1.1. get memprof
- 4.1. 内存泄漏
1. 概述
参考:
- 官方: beego-example Doc
- topgoer: go教程
- beego开发文档
- 视频: go语言beego框架web博客实战开发
1.1. 概述
-
概述:
- beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,
- 是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,
- 但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。
-
特点
- beego 是一个典型的 MVC 架构;
补充:
-
MVC模式
1)最上面的一层,是直接面向最终用户的"视图层"(View)。 它是提供给用户的操作界面,是程序的外壳。 2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。 3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令, 选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。
参考:
- 谈谈MVC模式
1.2. 环境搭建
参考:
- beego及Bee安装
- topgoer: beego安装
1.3. 常用命令
-
常用命令
bee new projectname //新建web项目 基于网站开发 bee api apiproject // 创建api应用 基于手机接口开发 bee run // bee run 命令是监控 beego //通过 fsnotify监控文件系统。 //但是注意该命令必须在 $GOPATH/src/appname 下执行。
1.4. 主要模块及项目结构
-
主要模块
cache 缓存模块 config 配置模块 context 上下文模块 logs 日志模块 orm 和数据库相关的操作 session httplib 网络相关
-
执行逻辑
页面(V) --> 控制© --> 数据库操作(M)
-
beego目录结构
conf 配置文件 controller 控制层 main.go 主入口 models 存放和数据库操作相关的 static 存放静态文件 views 页面展示层
1.5. 开发参考
- 函数等
- beego pkg
2. 配置
2.1. 配置文件
- app.conf
## 注意: ## # 1. 不区分大小写; # 2. #app.conf appname = beegoStudy httpaddr = "192.168.0.106" # 管理端口, 启用调试 EnableAdmin = true AdminPort = 8088 runmode = dev # 端口 [dev] httpport = 8080 [prod] httpport = 8088 [test] httpport = 8888
参考:
- topgoer: 参数配置
3. 基础开发
3.1. Controller设计
- 概述:
MainController
嵌入了beego.Controller
, 自动拥有其所有方法;- this.TplName 就是需要渲染的模板, 系统自动调用
Render
函数渲染;
3.2. 路由 router
beego 存在三种方式的路由:固定路由、正则路由、自动路由
4. 问题排查
4.1. 内存泄漏
4.1.1. get memprof
- 命令
go tool pprof your_app mem-948.memprof go tool pprof beegoStudy.exe cpu-4256.pprof //示例
参考:
- 查内存泄漏方法GET MEMPROF
更多推荐
【Beego基础】01 入门基础
发布评论