go-webmvc框架推荐

go-webmvc 是一套轻量、可改造的 Go mvc开发框架,帮助开发者快速搭建一个结构清晰、易于维护的 Go Web 项目骨架, 避免每次新建项目都要从零开始配置各种常用组件。 省时省力,统一项目结构, 提升开发效率, 对新手入门go开发友好。

快速开始(3 分钟上手)

环境要求:已装好 Go语言环境(1.24.6 及以上),根据需要安装 MySQL 和 Redis 。

  1. 克隆仓库并进入项目目录:
复制代码
git clone git@github.com:bitedge-tech/go-webmvc.git go-webmvc
cd go-webmvc
  1. 准备配置(参考下文 配置详例):编辑 config/config.dev.yaml

注意:请确保本地有 MySQL 和 Redis 实例在运行; 如果不需要redis,可以在server/main.go中注释掉redis的初始化代码。

  1. 安装依赖:
复制代码
cd go-webmvc #项目根目录下
go mod tidy
  1. 运行程序:
复制代码
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-webmvchttps://github.com/bitedge-tech/go-webmvc

相关推荐
为思念酝酿的痛2 小时前
POSIX信号量
linux·运维·服务器·后端
小羊在睡觉3 小时前
力扣84. 柱状图中最大的矩形
后端·算法·leetcode·golang·go
AI玫瑰助手3 小时前
Python函数:默认参数的定义与注意事项
开发语言·python·信息可视化
油炸自行车3 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
肩上风骋3 小时前
C++14特性
开发语言·c++·c++14特性
swipe3 小时前
Neo4j + Graph RAG 医疗知识图谱工程实践:患者教育问答真正需要的是“关系可追溯”
后端·langchain·llm
源码宝4 小时前
MES系统源码:Java8 + SpringBoot2.7 + MySQL8 + Redis,后端源码清爽易扩展
java·后端·源码·springboot·mes系统·源码二开·mes源码
JAVA社区5 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
弥树子5 小时前
踩坑记录:服务器内网调用接口,真实请求URL与官方公开URL不一致问题排查
开发语言·php
金銀銅鐵5 小时前
[Java] 如何理解 class 文件中方法的 descriptor?
java·后端