package dynamic import ( "reflect" ) type BeanMap map[string]reflect.Value func (m BeanMap) addBean(bean interface{}) { t := reflect.TypeOf(bean) if t.Kind() != reflect.Ptr { panic("require ptr object") } m[t.Elem().Name()] = reflect.ValueOf(bean) } func (m BeanMap) getBean(name string) reflect.Value { if v, ok := m[name]; ok { return v } return reflect.Value{} }