记录一下解决private方法中@Autowired无法注入问题
添加配置类
public class SpringBeanFactoryConfig implements ApplicationContextAware {
private static ApplicationContext applicationContext;
/**
* 重写setApplicationContext方法,把ApplicationContext对象inject到当前类中作为一个静态成员变量。
*/
public void setApplicationContext(ApplicationContext appCtx) throws Exception {
applicationContext = appCtx;
}
/**
* 获取ApplicationContext
*/
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
/**
* @return 返回一个bean对象
*/
public static Object getBean(String beanName) {
return applicationContext.getBean(beanName);
}
/**
* @return 返回一个bean对象
*/
public static Object getBean(Class c) {
return applicationContext.getBean(c);
}
}
加入一个bean
<bean id="springBeanFactoryConfig " class="com.xxx.xxx.SpringBeanFactoryConfig" />
private修饰方法中获取bean,并调用接口
xxxService service = (xxxService)SpringBeanFactoryConfig.getBean(xxxService.class);
原文地址:https://www.it610.com/article/1281724921046646784.htm