使用SpringContextUtil工具类来获取Spring容器管理的bean。
创建一个SpringContextUtil类 实现ApplicationContextAware,并实现其方法(注:SpringContextUtil加注解@Component)。
@Component
public class SpringContextUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException{
SpringContextUtil.applicationContext = applicationContext;
}
/**
* 手动在Spring容器中获取一个对象
*/
public static <T> T getBean(Class<T> clazz){
return applicationContext.getBean(clazz);
}
/**
* 通过名称获取bean
*/
public static Object getBean(String name){
return applicationContext.getBean(name);
}
}
在普通类中调用SpringContextUtil中的getBean方法即可获取 Spring容器管理的bean对象
public class test(){
Student student= SpringContextUtil.getBean(Student.class);
}