An open API service indexing awesome lists of open source software.

https://github.com/goapt/container

A simple dependency injection for golang
https://github.com/goapt/container

Last synced: about 2 months ago
JSON representation

A simple dependency injection for golang

Awesome Lists containing this project

README

        

# Golang容器注入API设计

Build Status
[![codecov](https://codecov.io/gh/goapt/container/branch/master/graph/badge.svg)](https://codecov.io/gh/goapt/container)

## API 设计

### 注册容器
```golang
di := container.New()
// 绑定合约
di.Register(func() contract.User {
return &repostiory.User{}
})

// 绑定实例而非接口,并且同时依赖参数的注入,而注入的参数必须已经被注册
di.Register(func(user contract.User) *service.User {
return &service.User{
User:user
}
})
```

### 注入容器
```golang
//注入变量
var user *UserService
di.Make(&user)

//注入函数参数
var user *UserService
di.Make(function(user *UserService){
//somthing
})
```