go-spring - GoLang 应用程序框架


Apache
跨平台
Google Go

软件简介

Go-Spring 是模仿 Java Spring 全家桶实现的一套 GoLang 应用程序框架。 Go-Spring 的目标是让 GoLang
程序员也能用上如 Java Spring 那般威力强大的编程框架。

特性:

  1. 提供完善的 IoC 容器,支持依赖注入、属性绑定;
  2. 提供强大的启动器框架,支持自动装配、开箱即用;
  3. 提供常见组件的抽象层,支持灵活地替换底层实现;

入门指南

Go-Spring 当前使用 Go1.12 进行开发,使用 Go Modules 进行依赖管理。

package main

import (
    _ "github.com/go-spring/go-spring-boot-starter/starter-gin"
    _ "github.com/go-spring/go-spring-boot-starter/starter-web"
    "github.com/go-spring/go-spring-web/spring-web"
    "github.com/go-spring/go-spring/spring-boot"
    "github.com/go-spring/go-spring/spring-core"
    "net/http"
)

func init() {
    SpringBoot.RegisterModule(func(ctx SpringCore.SpringContext) {
        ctx.RegisterBean(new(Controller))
    })
}

type Controller struct{}

func (c *Controller) InitWebBean(wc SpringWeb.WebContainer) {
    wc.GET("/", c.Home)
}

func (c *Controller) Home(ctx SpringWeb.WebContext) {
    ctx.String(http.StatusOK, "OK!")
}

func main() {
    SpringBoot.RunApplication("config/")
}

更多示例请见文档。