Spring注入失败问题
我出现这个问题是线程结合spring 出现无法注入问题
在线程启动之前 可以通过反射 把 queue注入 spring
public static JmsMessagingTemplate jmsMessagingTemplate;
public static Queue queue;
private static ExecutorService pools = null;
public static void start() {
StartRunner.queue = (Queue)ApplicationContextProvider.getBean(Queue.class);
StartRunner.jmsMessagingTemplate = (JmsMessagingTemplate)ApplicationContextProvider.getBean(JmsMessagingTemplate.class);
获取bean 工具类
/*/**
*
* 功能描述: 获取bean对象的工具类
*
* @param:
* @return:
* @auther: zzp
* @date: 2019/3/8 14:04
*/
@Configuration
public class ApplicationContextProvider implements ApplicationContextAware {
/**
* 上下文对象实例
*/
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
ApplicationContextProvider.applicationContext = applicationContext;
}
/**
* 获取applicationContext
*
* @return
*/
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
/**
* 通过name获取 Bean.
*
* @param name
* @return
*/
public static Object getBean(String name) {
return getApplicationContext().getBean(name);
}
/**
* 通过class获取Bean.
*
* @param clazz
* @param
* @return
*/
public static Object getBean(Class clazz) {
return getApplicationContext().getBean(clazz);
}
/**
* 通过name,以及Clazz返回指定的Bean
*
* @param name
* @param clazz
* @param <T>
* @return
*/
public static <T> T getBean(String name, Class<T> clazz) {
return getApplicationContext().getBean(name, clazz);
}
}