26 lines
688 B
Go
26 lines
688 B
Go
|
package di
|
||
|
|
||
|
// `annotation:"@Inject(name? string)"`
|
||
|
// field 에 적용
|
||
|
// 1. 타입으로 매칭 없으면 에러 2. 여러개의 타입이 검색되면 그 중에 name으로 매칭
|
||
|
|
||
|
// `annotation:"@Resource(name? string)"`
|
||
|
// field 에 적용
|
||
|
// 1. 이름으로 매칭 2. 타입으로 매칭
|
||
|
// 이름이 지정되지 않으면 field 이름으로 먼저 찾고 없으면 타입으로 매칭
|
||
|
|
||
|
// @Component
|
||
|
// Component 등록 시에 파라미터로 제공
|
||
|
// names []string
|
||
|
// initMethod string
|
||
|
// destroyMethod string
|
||
|
// scope enum singleton, transiant
|
||
|
|
||
|
type ScopeType int
|
||
|
|
||
|
const (
|
||
|
ScopeTypeDefault ScopeType = iota // == ScopeTypeSingleton
|
||
|
ScopeTypeSingleton
|
||
|
ScopeTypeTransiant
|
||
|
)
|