动态获取Bean对象
public class SpringContextUtil {
private static ApplicationContext applicationContext;
//获取上下文
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
//设置上下文
public static void setApplicationContext(ApplicationContext applicationContext) {
SpringContextUtil.applicationContext = applicationContext;
}
//通过名字获取上下文中的bean
public static Object getBean(String name){
return applicationContext.getBean(name);
}
//通过类型获取上下文中的bean
public static Object getBean(Class<?> requiredType){
return applicationContext.getBean(requiredType);
}
}
在启动类修改为如下代码:
ApplicationContext app = SpringApplication.run(Application.class, args);
SpringContextUtil.setApplicationContext(app);
使用时:根据bean对象名称获取bean对象
SpringContextUtil.getBean("beanName")