zoukankan      html  css  js  c++  java
  • spring3.0的BeanFactory上下文context获取不到bean

    开门见山,背景:

      系统初始化的时候扫包实例化bean,然后一个工具类实现ServletContextAware接口,拿到servletContext之后:

    WebApplicationContextUtils.getWebApplicationContext(context).getBean(rpc.getBeanName(), clazz)

    使用这个工具类获取rpc的本地目标handler对象,但是竟然报错说找不到对象:

    打开debug级别的spring beanFactory启动日志:

    这不就在这里么,明明已经初始化了....

    后来找到这个工具类,发现是用WebApplicationContextUtils去通过servletContext获取的spring的上下文.怀疑因为版本的问题,后来替换为实现org.springframework.context.ApplicationContextAware 接口,直接注入ApplicationContext 拿着这个context去直接getBean,瞬间搞定,世界立马清净了.

    后来思考原因,可能是因为我们集成RPC的这个新网贷系统是老版本的spring 3.0,估计在具体实现上有差异,我们之前的业务中从来未出现过问题.

  • 相关阅读:
    小阳买水果
    单调队列+dp
    最长的合法序列(栈+dp)
    A. 打印收费
    数位dp(K好数)
    Floyd(选地址)
    最短路计数
    线段树维护区间01
    解密(拓展欧几里的)
    树、森林的遍历
  • 原文地址:https://www.cnblogs.com/radio/p/5019717.html
Copyright © 2011-2022 走看看