初始化Bean到Spring

public static<T> T getBean(Class<T> clazz) {
		T t = null;
		try {
			//throw new NoSuchBeanDefinitionException("");
			t =  getApplicationContext().getBean(clazz);
		} catch (NoSuchBeanDefinitionException e) {
			if(clazz.isInterface()){
				 HSFSpringConsumerBean consumer=new HSFSpringConsumerBean();
				 consumer.setInterfaceName(clazz.getName());
				 consumer.setVersion("1.0.0");
				 consumer.setGroup("light");
				 try {
					consumer.init();
					 t = (T) consumer.getObject();
				} catch (Exception e1) {
					throw new CommonException(String.format("error to consume the service %s.",clazz.getName()),e);
				}
			}else{
				String nameString  =clazz.getSimpleName();
				nameString = (nameString.substring(0, 1)).toLowerCase()+nameString.substring(1);
				if(SpringContextUtil.registry!=null){
					boolean containBean = SpringContextUtil.containsBean(nameString);
					if (!containBean) {
						registry.registerBeanDefinition(nameString, SpringContextUtil.getDefinition(clazz));
					}
					Object o = getApplicationContext().getBean(nameString);
					t = (T) o;  
				}
			}
		}
		return t;
	}

  

猜你喜欢

转载自www.cnblogs.com/fjinlong/p/9097023.html
今日推荐