jingjiecsdn 2020-01-06 10:24 采纳率: 0%
浏览 559

new的对象中获取spring中的bean类报applicationContext为null

我是使用实现ApplicationContextAware接口封装一个工具类来初始化一个applicationContext来使用的,项目启动是也看到初始化成功了,applicationContext是有值的,但在new的对象中使用时却报null?不知道为什么,请大神指点,下面是代码实现:

 public class BeanContext implements ApplicationContextAware {
    private static ApplicationContext applicationContext;

    public static ApplicationContext getApplicationContext(){
        return applicationContext;
    }

    @SuppressWarnings("unchecked")
    public static <T> T getBean(String name) throws BeansException {
        return (T)applicationContext.getBean(name);
    }

    public static <T> T getBean(Class<T> clz) throws BeansException {
        return applicationContext.getBean(clz);
    }



    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        BeanContext.applicationContext = applicationContext;
    }
}

public class SyncDataTask extends AbstractTask {

private SyncDataParameters syncDataParameters;

private Job job;

private DataSource dataSource;

private BaseDataSource baseDataSource;

/**

  • task dir
    */
    private String taskDir;

    private ShellCommandExecutor shellCommandExecutor;

    /**

  • process database access
    */
    private ProcessDao processDao;

    private DataxJsonUtil dataxUtil = BeanContext.getBean(DataxJsonUtil.class);
    }

beanContext类上是有component注解的,syncDataTask是普通的类,没有交给spring管理,DataxJsonUtil是spring管理的类

  • 写回答

1条回答 默认 最新

  • cqzenghaiyang 2020-01-06 11:11
    关注
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
           ** this.applicationContext = applicationContext;**
     }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器