zoukankan      html  css  js  c++  java
  • Go语言web开发---Beego基础

    一.框架

    框架:可复用的设计组件,它规定了应用的体系结构,明确了整个设计,协作各个组件之间的依赖关系,责任分配,和流程控制。通俗解释框架就是一堆代码的集合,为了提高软件的开发效率和质量,一般都会使用框架。

    二.Beego简介

    1.作者

    谢孟军

    2.简介

    beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 APIWeb 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornadosinatra flask 这三个框架,但是结合了 Go 本身的一些特性(interfacestruct 嵌入等)而设计的一个框架。

    REST:指的就是一组约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。Web应用程序最重要的原则是客户端和服务器之间的交互,从客户端到服务器的每个请求都必须包含理解请求所必须的信息。如果服务器在请求之间的任何时候重启或宕机,客户端不会得到通知。客户端可以通过缓存数据的形式来提高性能。

    三.Beego的架构

     

    Beego的安装

    1、建议用https://goproxy.cn/的方法来设置下goproxy:

    Go 1.13 及以上(推荐)

    打开你的终端并执行

    $ go env -w GO111MODULE=on
    $ go env -w GOPROXY=https://goproxy.cn,direct

    macOS 或 Linux

    打开你的终端并执行

    $ export GO111MODULE=on
    $ export GOPROXY=https://goproxy.cn

    或者

    $ echo "export GO111MODULE=on" >> ~/.profile
    $ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
    $ source ~/.profile

    2、设置GOPATH环境变量,beego和bee都用安装在GOPATH下

    记得提前装好go语言环境,git命令

    安装beego:

    go get github.com/astaxie/beego

    安装bee:

    go get github.com/beego/bee

    安装bee工具有可能会出依赖问题:

    go: github.com/beego/bee imports
    github.com/beego/bee/cmd imports
    github.com/beego/bee/cmd/commands/dlv imports
    github.com/derekparker/delve/service: github.com/derekparker/delve@v1.3.
    1: parsing go.mod:
    module declares its path as: github.com/go-delve/delve
    but was required as: github.com/derekparker/delve

    解决方法:

    go env -w GO111MODULE=on

    执行完在安装一次,时间会比较久,多等等,实测可行。

    四.开发工具bee简介

    1.bee安装完成之后,在cmd中输入bee,会看到以下内容

     

    2.go version查看beego版本

     

    3.bee pack打包应用程序,这样我们部署的时候直接将打包之后的项目上传,解压就可以部署。

     

    4.bee new 项目名称:新建一个beego项目

     

    5.bee run 项目名称:启动beego项目。

     

    五.beego项目结构

     

    六.HelloBeego分析

    1.项目在启动的时候默认读取congf文件夹下的app.conf,我们可以在该配置文件下配置相关信息。

    2.MainController组合了beego.Controller,然而beego.Controller实现ControllerInterface接口,其中就包含了Get方法,我们如果在MainController中不实现Get 方法,会去找beego.controller中的Get方法。

    3.beego默认的viewspathviews文件夹,可以通过beego.BConfig.WebConfig.ViewsPath = "myview"或者viewpath=”myviews”设置。

    七.参数配置

    1. ini格式配置文件介绍

    ①.ini其本质是一个文本格式的配置文件,为键值对类型(key=value)

    ②.通过#或;来注释,在本行有效。

    ③.在ini格式的配置文件中存在section,可以理解为一个模块。

    2.默认配置的解析(D:/Go1.14/gopath/src/github.com/astaxie/beego/config.go)

    1. viewspath用于设置页面文件夹,默认为views
    2. autorender用于设置是否自动渲染,true为自动渲染,false关闭自动渲染。可以手动开启渲染:c.Render().

    3.多配置文件

     

     

  • 相关阅读:
    Java [leetcode 36]Valid Sudoku
    Java [leetcode 35]Search Insert Position
    java中正则表达式
    Java [leetcode 34]Search for a Range
    SSRS表达式里引用.net dll
    一个简单的批处理
    .NET大批量插入数据到Oracle
    AX2009里调用.NET DLL的效率问题
    生成折扣日记账
    python's twelth day for me
  • 原文地址:https://www.cnblogs.com/yunweiqiang/p/12781721.html
Copyright © 2011-2022 走看看