Skip to content

Latest commit

 

History

History
93 lines (77 loc) · 4.09 KB

README_CN.md

File metadata and controls

93 lines (77 loc) · 4.09 KB

English  |  中文

license GoDoc Go Report Card codecov Build and Test Release Mentioned in Awesome Go

logo

Gone

Gone 是什么?

Gone 是一个轻量级的golang依赖注入框架,并且适配了一些列第三方组件用于快速开始编写一个云原生的微服务。

特性

  • 依赖注入,支持对结构体属性和函数参数自动注入
  • Gonectr,生成项目、生成辅助代码、编译和启动项目
  • 单元测试方案,基于接口的mock测试
  • 多种组件,可插拔,支持云原生、微服务

architecture

快速开始

  1. 安装 gonectrmockgen
    go install github.com/gone-io/gonectr@latest
    go install go.uber.org/mock/mockgen@latest
  2. 创建一个项目
    gonectr create myproject
  3. 运行项目
    cd myproject
    gonectr run ./cmd/server
    或者,使用make命令运行,如果你已经安装make:
    cd myproject
    make run
    或者使用docker compose来运行:
    cd myproject
    docker compose build
    docker compose up

更新记录

v1.2.1

  • 定义 gone.Provider,一个工厂函数用于将 不是 Goner 的外部组件(结构体、结构体指针、函数、接口)注入到 属性需要注入的Goner;
  • 修复 gone.NewProviderPriest 无法为 生成接口类型的gone.Provider生成Priest;
  • goner/gorm编写测试代码,补齐其他测试代码;文档更新。

v1.2.0

  • 提供一种新的 gone.GonerOption,可以将按类型注入,将构造注入类型实例的任务代理给一个实现了Suck(conf string, v reflect.Value, field reflect.StructField) errorGoner
  • 提供了一个用于实现Goner Provider的辅助函数:func NewProviderPriest[T any, P any](fn func(tagConf string, param P) (T, error)) Priest
  • goner/xorm 集群模式提供策略配置的方案;
  • 完善goner/gorm代码 和 做功能测试,支持多种数据库的接入。

v1.1.1

  • goner/xorm 支持集群 和 多数据库,最新文档:https://goner.fun/zh/references/xorm.html
  • 新增 goner/gorm,封装gorm.io/gorm,用于数据库的访问,暂时只支持mysql,完善中...

贡献

如果您发现了错误或有功能请求,可以随时提交问题,同时欢迎提交拉取请求

联系方式

如果您有任何问题,欢迎通过以下方式联系我们:

许可证

gone 在 MIT 许可证下发布,详情请参阅 LICENSE 文件。