标题 | 版本号 | 作者 | 技术栈版本号 | IDE | 中文网 | |
---|---|---|---|---|---|---|
Golang研发,不得不爱,从框架Bee开始 | v0.0.2 | 若布与宫合 | 8416837 | go1.13.4 Bee1.10.0 Beego1.12.1 |
LiteIDE | Go语言中文网 |
文章目录
安装
- 下载Golang Win版 直接安装
- Ubuntu
sudo apt install golang-go
版本有点低
IDE
liteidex
下载liteidex
logo可以
配置
依次点击,工具->编辑当前环境
# native compiler windows 386
GOROOT=C:\Go
GOBIN=C:\Go\bin
#GOARCH=386
#GOOS=windows
#CGO_ENABLED=1
PATH=c:\mingw32\bin;%GOROOT%\bin;%PATH%
#LITEIDE_GDB=gdb
LITEIDE_MAKE=mingw32-make
LITEIDE_TERM=%COMSPEC%
LITEIDE_TERMARGS=
LITEIDE_EXEC=%COMSPEC%
LITEIDE_EXECOPT=/C
工具->管理GOPATH …
GOPROXY=https://mirrors.aliyun.com/goproxy/
CMD查看是否起效:
起效了
应用框架 Bee - 蜜蜂 && beego
寓意勤劳
- 架构图
# 安装
go get github.com/beego/bee
# 检测
bee
bee version
等了半天,终于下载完成,大小是5M+。下载慢是因为GOPROXY需要配合mod一起使用,需执行命令set GO111MODULE=on
见下文。
起飞
初始化
# 使用上文安装的bee
cd %GOPATH%/src/test
bee new ProjectName
项目结构出来了:
# 进入项目根目录
cd C:\Users\cc\go\src\test\Gocc
# 启动 按照默认配置,须在根目录执行下述命令.除非该配置
bee run
出错了,没有安装beego啊:
没事没事,那就安装呗
# 还记得上文的方式吗,很简单
go get github.com/astaxie/beego
如果卡住了不下载,就取消,重新执行get
命令
加上module
使go代理生效 mod管理依赖
# 开启mod,但是要求Golang版本大于等于1.11
set GO111MODULE=on
起效了,下载速度变快了:
下载后的地址:C:\Users\cc\go\pkg\mod\github.com\astaxie\[email protected]
再次运行,仍然不行:
对项目,执行初始化命令:
go mod init Gocc
效果:
再次运行:
路径报错,去看下:
重新建项目,按照上文步骤,启动成功:
访问:
修改tpl文件,更改内容:
这是web应用
可能你要说,这没什么了不起,我大springBoot牛逼得多。
但请看官你莫急,好戏再后头!
Create API 基于数据库自动生成开放API项目
bee api ccLoveAPI
成功日志:
结构:
- 安装数据库插件,基于数据库创建Controller
# 安装数据库插件
go get github.com/Go-SQL-Driver/MySQL
- 自动创建API 根据Table生成Controller 底层框架复用
# 基于数据库创建model 和 controller。类似代码生成器,但又不同
bee api [appname] [-tables=""] [-driver=mysql] [-conn="root:<password>@tcp(127.0.0.1:3306)/test"]
# 如果 conn 参数为空则创建一个示例项目,否则将基于链接信息链接数据库创建项目
# 示例:支持table数组,如果默认支持全部数据表就好了
bee api ccLoveAPI -tables="blade_menu,blade_role,blade_user" -driver=mysql -conn="root:<root>@tcp(127.0.0.1:3306)/blade"
# 换成另一张表再执行,则会覆盖原路由代码
创建成功,但是目录好像有瑕疵:
启动API项目
cd C:\Users\cc\go\src\test\ccLoveAPI\ccLoveAPI
# cd 项目根目录;执行go mod init便于包管理
bee run
# 如果缺少包,执行下述命令。使用mod管理包和从镜像站下载依赖
go mod init
# 初始化。或者安装其它缺少的依赖包
启动完毕,调用接口,但是报了404,是不是请求参数有误。
- 启动API文档,类似spring swagger
bee run -gendoc=true -downdoc=true
文档生成成功:
-
查看接口文档:
注意:如果进入swagger后,请求API失败,就停掉应用,执行bee run命令,重启项目即可
-
请求接口,测试成功:
传参:
或者这样传参:
ok,API已经自动生成,现在可以基于后台API进行前端UI开发了。
好了,差不多该部署了
进入文件main.go
所在目录,执行下述命令:
bee pack
查看项目结构:
怎么好像不对?
加参数,再次执行:
bee pack -be GOOS=linux
非Docker部署,请先在服务器安装go环境,并执行go version检测是否安装;
部署命令:
# 如果有静态资源,需要拷贝到服务器
./打包后的二进制项目名称
# 后台守护进程运行
nohup ./app &
部署到虚拟机成功:
CentOS环境
Ubuntu环境
Ubuntu环境,响应有Json样式,那是因为Ubuntu部署的项目开启了Swagger文档。
Docker部署待续。。。