前文用到的工具类:
@Component(SpringUtility.BEAN_NAME)
public class SpringUtility implements ApplicationContextAware {
public static final String BEAN_NAME = "springUtility";
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if (SpringUtility.applicationContext == null) {
SpringUtility.applicationContext = applicationContext;
}
}
public static Object getBean(String name) {
return applicationContext.getBean(name);
}
public static <T> Map<String, T> getBeansOfType(Class<T> clazz) {
return applicationContext.getBeansOfType(clazz);
}
public static <T extends Annotation> Map<String, Object> getBeansWithAnnotation(Class<T> clazz) {
return applicationContext.getBeansWithAnnotation(clazz);
}
public static <T> T getBean(Class<T> clazz) {
return applicationContext.getBean(clazz);
}
public static void registerBean(String beanName, Object bean) {
((ConfigurableApplicationContext) applicationContext).getBeanFactory().registerSingleton(beanName, bean);
}
}
本文介绍了一个Spring工具类的实现,该工具类提供了获取Spring上下文中Bean的方法,包括按名称获取Bean、按类型获取Bean及带有特定注解的Bean等实用功能。
1530

被折叠的 条评论
为什么被折叠?



