| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package dynamic
- import (
- "reflect"
- )
- var BeanFactory *BeanFactoryImpl
- func init() {
- BeanFactory = NewBeanFactory()
- }
- type BeanFactoryImpl struct {
- beanMap BeanMap
- }
- func NewBeanFactory() *BeanFactoryImpl {
- return &BeanFactoryImpl{beanMap: make(BeanMap)}
- }
- func (f *BeanFactoryImpl) BeanRegister(bean interface{}) {
- f.beanMap.addBean(bean)
- }
- func (f *BeanFactoryImpl) GetBean(name string) reflect.Value {
- if name == "" {
- return reflect.Value{}
- }
- v := f.beanMap.getBean(name)
- if v.IsValid() {
- return v
- }
- return reflect.Value{}
- }
- func (f *BeanFactoryImpl) GetBeanInterface(name string) interface{} {
- if name == "" {
- return nil
- }
- v := f.beanMap.getBean(name)
- if v.IsValid() {
- return v.Interface()
- }
- return nil
- }
|