1、问题:
在线程runnable中,无法将需要的kafkaTemplate(或者其他类)注入
2、解决方案:
通过封装ApplicationContex类(继承ApplicationContextAware),获取kafkaTemplate的bean实例。
3、代码演示:
SpringContextUtil.java工具类
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import java.util.Locale;
/**
* @author yanghao
* @Description:
* @date 2018/12/21 16:57
*/
//spring 中通过ApplicationContext getBean获取注入对象, 必须在需要注入之前(被依赖)
public class SpringContextUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
/**
* 实现ApplicationContextAware接口的context注入函数, 将其存入静态变量.
*/
@Override
public void setApplicationContext(Ap