func appendParams(container []*factory.MetaData, params ...interface{}) (retVal []*factory.MetaData, err error) {
	retVal = container
	if len(params) == 0 || params[0] == nil {
		err = ErrInvalidObjectType
		return
	}
	if len(params) > 1 && reflect.TypeOf(params[0]).Kind() != reflect.String {
		for _, param := range params {
			retVal, err = appendParam(retVal, param)
		}
	} else {
		retVal, err = appendParam(retVal, params...)
	}
	return
}
appendParams is the common func to append params to component or configuration containers
package app
import (
	"hidevops.io/hiboot/pkg/at"
	"hidevops.io/hiboot/pkg/factory"
	"hidevops.io/hiboot/pkg/inject/annotation"
	"reflect"
)
type Configuration struct {
	at.AutoConfiguration
	RuntimeDeps factory.Deps
}
func appendParam(container []*factory.MetaData, params ...interface{}) (retVal []*factory.MetaData, err error) {
	retVal = container
	metaData := factory.NewMetaData(params...)
	if metaData.MetaObject != nil {
		ok := annotation.Contains(metaData.MetaObject, at.AutoConfiguration{})
		if ok {
			configContainer = append(configContainer, metaData)
		} else {
			retVal = append(retVal, metaData)
		}
	}
	return
}