Spring内获取Bean对象的帮助类

    xiaoxiao2022-07-12  205

    项目需求:有时候对不是spring容器内的类进行操作市,无法通过注解获取Bean,则需要通过SpringContext获取Srping容器内的Bean

    操作如下:

    import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; @Component public class SpringContextUtil implements ApplicationContextAware { public static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SpringContextUtil.applicationContext = applicationContext; } // 根据bean名称获取Bean public static Object getBean(String name) { return applicationContext.getBean(name); } // 根据bean的类型获取Bean public static <T> T getBean(String name, Class<T> requiredType) { return applicationContext.getBean(name, requiredType); } // 判断容器内是否有Bean public static boolean containsBean(String name) { return applicationContext.containsBean(name); } // 判断Bean是否是单列 public static boolean isSingleton(String name) { return applicationContext.isSingleton(name); } // 根据bean获取Class类型 public static Class<? extends Object> getType(String name) { return applicationContext.getType(name); } }

     

     

    最新回复(0)