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在安装的时候是如何被编译的.要添加一个新的引擎 ...
随机推荐
- Linux 下 less 命令
less 命令功能强大,上能搜索,下能动态加载查看日志,并且每一屏内容都是预加载,不会加载整个文件,所以不会由于搜索内容过多把机器卡死 语法 less [参数] 文件地址 参数说明 -N:显示行号 f ...
- <孤独者生存(小小辛巴投资手记)>读书笔记
书在这里 让投机客梦醒的办法就是让资产损失至少一半 天不会塌下来,世界末日也不会这么快就降临,经济也许会萧条但不会崩溃,人们还得穿衣吃饭.休息劳作 每个笨蛋都会从自己的错误中吸取教训,聪明的人则从别人 ...
- Android——Fragment 真正的完全解析(下)(转)
原文地址:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种A ...
- Linux环境下NodeJS和MongoDB的安装配置
一.NodeJS的安装配置 #进入安装目录cd /usr/local/ #删除原有安装rm -rf noderm -rf node-v0.10.29-linux-x64 #解压压缩包tar -zxv ...
- 【C】——如何用线程进行参数的传递
直接上代码: #include<pthread.h> #include<stdio.h> struct val{ int num1; int num2; }; //send a ...
- Ubuntu free以及Linux内存占用大的解释
-bash-3.00$ free total used free shared buffers cached Mem: 514020 465932 48088 0 15864 348844 -/ bu ...
- 微信小程序——picker通过value返回你想获取的值
关于微信小程序中的picker使用方法可以访问:picker-小程序 从它的官方文档中,可以看出它返回的value值是它range的下标: 在项目中,我们大多数时候传的值并不是需要这个下标,而是其他的 ...
- socket阻塞与非阻塞,同步与异步、I/O模型
socket阻塞与非阻塞,同步与异步 1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所 ...
- Netty实践
Netty是JBOSS针对网络开发的一套应用框架,它也是在NIO的基础上发展起来的.netty基于异步的事件驱动,具有高性能.高扩展性等特性,它提供了统一的底层协议接口,使得开发者从底层的网络协议(比 ...
- TCP长连接保持连接状态TCP keepalive设置
如有转载,请注明出处:http://blog.csdn.net/embedded_sky/article/details/42077321 作者:super_bert@csdn 对于TCP长连接保活是 ...