go-webmvc 是一套轻量、可改造的 Go mvc开发框架,帮助开发者快速搭建一个结构清晰、易于维护的 Go Web 项目骨架, 避免每次新建项目都要从零开始配置各种常用组件。 省时省力,统一项目结构, 提升开发效率, 对新手入门go开发友好。
快速开始(3 分钟上手)
环境要求:已装好 Go语言环境(1.24.6 及以上),根据需要安装 MySQL 和 Redis 。
- 克隆仓库并进入项目目录:
git clone git@github.com:bitedge-tech/go-webmvc.git go-webmvc
cd go-webmvc
- 准备配置(参考下文
配置详例):编辑config/config.dev.yaml
注意:请确保本地有 MySQL 和 Redis 实例在运行; 如果不需要redis,可以在server/main.go中注释掉redis的初始化代码。
- 安装依赖:
cd go-webmvc #项目根目录下
go mod tidy
- 运行程序:
go run ./cmd/server/main.go
- 看到 Listening and serving HTTP on :8080 表示启动成功。
- 在浏览器访问 http://localhost:8080/ 页面显示: "Welcome to Go WebMVC!" 说明服务运行正常。
项目结构
仓库主要目录(摘录):
cmd/:应用入口server/main.go:应用入口,负责配置加载、各组件初始化(日志、DB、Redis)、路由注册与启动。gen/:代码生成相关(gorm-gen)或生成脚本。
config/:配置加载器与示例 YAML(config.go,config.dev.yaml)。internal/:核心业务代码都放在这里handler/:HTTP 层处理函数(login、users、index 等)。service/:业务逻辑层。repository/:持久层(model/+query/)。router/:路由注册(internal/router/router.go)。middleware/:中间件(如 JWTAuth)。
pkg/:第三方组件封装pkg/db/:MySQL 初始化与迁移(mysql.go)。pkg/logger/:zap 日志封装(logger.go)。pkg/redis/:Redis 客户端(redis.go)。pkg/natCon/:NATS 连接示例。
build/:编译生成的二进制文件,可以对应系统中直接运行(build/app1)。Dockerfile:镜像构建脚本,用于生成docker镜像运行在docker下
go-wbmvc github地址:https://github.com/bitedge-tech/go-webmvc
https://github.com/bitedge-tech/go-webmvc