目录

  • 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

1. 概述

参考:

  1. 官方: beego-example Doc
  2. topgoer: go教程
  3. beego开发文档
  4. 视频: go语言beego框架web博客实战开发

1.1. 概述

  • 概述:

    1. beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,
    2. 是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,
    3. 但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。
  • 特点

    1. beego 是一个典型的 MVC 架构;

补充:

  1. MVC模式

    1)最上面的一层,是直接面向最终用户的"视图层"(View)。
        它是提供给用户的操作界面,是程序的外壳。
    2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。
    3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,
        选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。
    

    参考:

    1. 谈谈MVC模式

1.2. 环境搭建

参考:

  1. beego及Bee安装
  2. 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. 开发参考

  • 函数等
    1. 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
    

参考:

  1. topgoer: 参数配置

3. 基础开发


3.1. Controller设计

  • 概述:
    1. MainController 嵌入了 beego.Controller , 自动拥有其所有方法;
    2. 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    //示例
    

参考:

  1. 查内存泄漏方法GET MEMPROF

更多推荐

【Beego基础】01 入门基础