import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* 通过ApplicationContex获取bean工具类
*
*/
@Component("applicationContextHelper")
public class ApplicationContextHelper implements ApplicationContextAware {
private static ApplicationContext applicationContext;
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
/**
* 根据类型获取bean
*
* @param clazz
* @param <T>
* @return
*/
public static <T> T popBean(Class<T> clazz) {
if (applicationContext == null) {
return null;
}
return applicationContext.getBean(clazz);
}
/**
* 根据名字和类型获取bean
*
* @param name
* @param clazz
* @param <T>
* @return
*/
public static <T> T popBean(String name, Class<T> clazz) {
if (applicationContext == null) {
return null;
}
return applicationContext.getBean(name, clazz);
}
}
通过ApplicationContex获取bean工具类
于 2022-07-30 09:41:00 首次发布
该博客介绍了如何创建一个名为ApplicationContextHelper的工具类,该类实现了ApplicationContextAware接口,用于在Spring框架中静态地获取Bean。通过调用popBean()方法,可以根据类或者名称方便地获取指定的Bean实例。
1万+

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



