# go-spring
**Repository Path**: yong888/go-spring
## Basic Information
- **Project Name**: go-spring
- **Description**: Go-Spring 是模仿 Java Spring 全家桶实现的一套 GoLang 应用程序框架
- **Primary Language**: Shell
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://www.oschina.net/p/go-spring
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 34
- **Created**: 2019-11-23
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Go-Spring
Go-Spring 的目标是让 GoLang 程序员也能用上如 Java Spring 那般威力强大的编程框架。感谢 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/")
}
```
更多示例: https://github.com/go-spring/go-spring-boot-demo
### 项目列表
#### go-spring-parent
所有 Go-Spring 项目的根模块,包含日志,常量等。
#### go-spring
实现了 IoC 容器和 Boot 框架。
#### go-spring-web
不依赖 Go-Spring 框架的独立的 Web 模块。
#### go-spring-redis
不依赖 Go-Spring 框架的独立的 Redis 模块。
#### go-spring-rpc
不依赖 Go-Spring 框架的独立的 RPC 模块。
#### go-spring-orm
不依赖 Go-Spring 框架的独立的 ORM 模块。
#### go-spring-message
不依赖 Go-Spring 框架的独立的 MQ 模块。
#### go-spring-singlet
使用全局 SpringContext 变量改进后的 SpringBoot 框架。
#### go-spring-boot-starter
提供常见组件的启动器,实现开箱即用。
### 项目成员
#### 发起者/负责人
[lvan100 (LiangHuan)](https://github.com/lvan100)
如何成为贡献者? 提交有意义的PR,并被采纳。
### QQ 交流群
### License
The Go-Spring is released under version 2.0 of the Apache License.