diff --git a/flyfish-common/src/main/java/com/flyfish/framework/context/SpringContext.java b/flyfish-common/src/main/java/com/flyfish/framework/context/SpringContext.java new file mode 100644 index 0000000..003b215 --- /dev/null +++ b/flyfish-common/src/main/java/com/flyfish/framework/context/SpringContext.java @@ -0,0 +1,40 @@ +package com.flyfish.framework.context; + +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.BeanInitializationException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +/** + * spring的上下文 + * + * @author wangyu + */ +@Component +public class SpringContext implements ApplicationContextAware { + + private ApplicationContext applicationContext; + + /** + * 设置上下文 + * + * @see BeanInitializationException + */ + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.applicationContext = applicationContext; + } + + /** + * 通过类获取某个bean + * 优先获取@Prmary注解的bean + * + * @param clazz 类 + * @param 泛型 + * @return 结果 + */ + public T getBean(Class clazz) { + return applicationContext.getBean(clazz); + } +}