1. BeeGo 介绍与项目的创建,启动
简介
- BeeGo是一个快速开发Go而应用的HTTP框架,他可以用来快速开发API,web以及后端服务等各种应用,是一个restful 的框架,主要涉及灵感来源于tornado,sinatr和flask这三个框架,但是结合了Go本身一些的特性(interface,struct嵌入等)而设计的一个框架
- 官网地址如下: https://beego.me/
架构
beego有八个模块,分别是
- cache
- config:
- context:
- httplibs: curl函数
- logs:
- orm
- session
- toolbox
执行逻辑
项目结构
项目结构要求你必须按照下面的目录结构去做
- M(models目录)
- V(views目录)
- C(controllers目录)
- main.go是入口文件。
安装beego
可以使用 go get
来安装 ,比如:
go get github.com/astaxie/beego
创建项目目录
创建项目目录我们可以使用bee这个工具,安装地址为:
go get github.com/beego/bee
安装好以后两个命令我们需要注意的
- new命令,new命令是一个新建web项目的,我们在命令行下执行
bee new 项目名称
就可以创建一个新的项目,但是注意该命令必须在 $GOPATH/src下执行 - api命令,上面的new命令用来创建web项目,不过很多用户使用beego来开发api应用,所以这个api命令就是用来创建API应用的。
安装好以后,我们使用bee命令来看看。
由于我这里的是windows环境下,所以需要在GOPATH后执行这个命令,例如
H:\Go\GoLearn>%GOPATH%/bin/bee
如果能够正常显示help信息,那么就算是安装成功了,那么就开始创建一个项目吧
创建一个web项目
我们使用bee来床架, 记住先切换到src下,
H:\Go\GoLearn\src>%GOPATH%/bin/bee new WEB
______
| ___ \
| |_/ / ___ ___
| ___ \ / _ \ / _ \
| |_/ /| __/| __/
\____/ \___| \___| v1.9.1
2017/11/05 19:31:52 INFO ▶ 0001 Creating application...
create H:\Go\GoLearn\src\WEB\
create H:\Go\GoLearn\src\WEB\conf\
create H:\Go\GoLearn\src\WEB\controllers\
create H:\Go\GoLearn\src\WEB\models\
create H:\Go\GoLearn\src\WEB\routers\
create H:\Go\GoLearn\src\WEB\tests\
create H:\Go\GoLearn\src\WEB\static\
create H:\Go\GoLearn\src\WEB\static\js\
create H:\Go\GoLearn\src\WEB\static\css\
create H:\Go\GoLearn\src\WEB\static\img\
create H:\Go\GoLearn\src\WEB\views\
create H:\Go\GoLearn\src\WEB\conf\app.conf
create H:\Go\GoLearn\src\WEB\controllers\default.go
create H:\Go\GoLearn\src\WEB\views\index.tpl
create H:\Go\GoLearn\src\WEB\routers\router.go
create H:\Go\GoLearn\src\WEB\tests\default_test.go
create H:\Go\GoLearn\src\WEB\main.go
2017/11/05 19:31:52 SUCCESS ▶ 0002 New application successfully created!
如上图所示,创建成功了。
new比api创建出来的项目,多出来了static,views等目录。
run 这个web项目
我们启动刚才创建的web目录,先切换到刚才创建WEB目录,然后bee run下就好使了,如下所示
H:\Go\GoLearn\src>cd WEB
H:\Go\GoLearn\src\WEB>%GOPATH%/bin/bee run
______
| ___ \
| |_/ / ___ ___
| ___ \ / _ \ / _ \
| |_/ /| __/| __/
\____/ \___| \___| v1.9.1
2017/11/05 19:36:15 INFO ▶ 0001 Using 'WEB' as 'appname
2017/11/05 19:36:15 INFO ▶ 0002 Initializing watcher...
WEB/controllers
WEB/routers
WEB
启动成功后,我们访问 http://127.0.0.1:8080/ 就可以看到beego的页面了。
创建API项目
使用api命令来创建,如下所示:
H:\Go\GoLearn\src>%GOPATH%/bin/bee api api
______
| ___ \
| |_/ / ___ ___
| ___ \ / _ \ / _ \
| |_/ /| __/| __/
\____/ \___| \___| v1.9.1
2017/11/05 19:34:03 INFO ▶ 0001 Creating API...
create H:\Go\GoLearn\src\api
create H:\Go\GoLearn\src\api\conf
create H:\Go\GoLearn\src\api\controllers
create H:\Go\GoLearn\src\api\tests
create H:\Go\GoLearn\src\api\conf\app.conf
create H:\Go\GoLearn\src\api\models
create H:\Go\GoLearn\src\api\routers\
create H:\Go\GoLearn\src\api\controllers\object.go
create H:\Go\GoLearn\src\api\controllers\user.go
create H:\Go\GoLearn\src\api\tests\default_test.go
create H:\Go\GoLearn\src\api\routers\router.go
create H:\Go\GoLearn\src\api\models\object.go
create H:\Go\GoLearn\src\api\models\user.go
create H:\Go\GoLearn\src\api\main.go
2017/11/05 19:34:03 SUCCESS ▶ 0002 New API successfully created!
1. BeeGo 介绍与项目的创建,启动的更多相关文章
- 一、Beego介绍与项目创建及启动
一.beego 简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 torna ...
- Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查
一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...
- Vue环境搭建-项目的创建-启动生命周期-组件的封装及应用
vue项目环境的搭建 """ node >>> python:node是用c++编写用来运行js代码的 npm(cnpm) >>> p ...
- maven系列之二maven项目的创建和maven项目的结构
maven系列之一简单介绍了maven的基本信息,安装和配置,大家对maven有一个大概的了解,但是在maven项目开发中远远不够,为了进一步了解maven,现在我们介绍maven项目的创建和mave ...
- beego学习笔记一:创建第一个beego Web项目 转
前提工作 环境搭建,可以参考如下两篇教程:搭建Go语言环境1搭建Go语言环境2 安装beego beego 的安装是典型的 Go 安装包的形式: go get github.com/astaxie/b ...
- [Xcode 实际操作]一、博主领进门-(1)iOS项目的创建和项目模板的介绍
目录:[Swift]Xcode实际操作 本文将演示iOS项目的创建和项目模板的介绍. [Create a new Xcode project]创建一个新的项目. 在弹出的模板窗口中,显示了所有的项目模 ...
- dya49:django:wsgrief&模板渲染Jinjia2&django的MTV/MVC框架&创建/启动一个django项目
目录 1.自定义web框架wsgiref版 2.自定义web框架wsgiref版-优化版 3.模板渲染JinJa2 4.MTV和MVC框架 5.django:下载安装&创建启动 自定义web框 ...
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...
- [转]MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...
随机推荐
- 【卡西欧Fx-5800p系列教程】Pol()和Rec()正反算妙用
一.背景概述 我要单独把这两个公式列出来写篇文章, 我觉得搞测量的如果能熟练运用 Pol()和Rec()这两个公式,那么他是会用卡西欧计算器的里程碑事件,也就是说,你开始入门了. 为什么呢?他虽然是内 ...
- linux查看进程与线程数
1. 查看进程:ps -ef 或 ps -aux 得到进程的pid:如: ps -ef | grep process_name | grep -v "grep" | awk '{p ...
- C++中cin的用法汇总
cin可以用于接收输入,最常见的是从控制台接收.在刚学习C++的时候经常会用cin来接收数据,这里想要系统的总结一下cin的用法,保证不灌水. C++中的cin是一个 istream对象,从标准输入中 ...
- C++11中如何输出enum class的值
Unlike an unscoped enumeration, a scoped enumeration is not implicitly convertible to its integer va ...
- Free-form语言
在计算机编程领域,程序指令文本中的字符在『纸面』上所处的位置无关紧要 - 不像老式的穿孔卡片系统(punched card system)程序指令文本需要放置在指定列,这种编程语言就可算是自由形式语言 ...
- MapReduce教程(一)基于MapReduce框架开发<转>
1 MapReduce编程 1.1 MapReduce简介 MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算,用于解决海量数据的计算问题. MapReduce分成了两个部分: ...
- Java设计模式(1)工厂模式(Factory模式)
工厂模式定义:提供创建对象的接口. 为何使用工厂模式 工厂模式是我们最常用的模式了,著名的Jive论坛,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见. 为什么工厂模式是如此常用?因 ...
- 内存映射文件(Memory-Mapped File)
Java Memory-Mapped File所使用的内存分配在物理内存而不是JVM堆内存,且分配在OS内核. 1: 内存映射文件及其应用 - 实现一个简单的消息队列 / 计算机程序的思维逻辑 在一般 ...
- Sword STL仿函数示例
一元函数 unary_function .有返回值. .只有一个参数. template <class Arg, class Result> struct unary_function { ...
- Python 类的多态
#python的多态 class Dog(): def eat(self): print("i am dog , eat something . ") class Cat(): d ...