dyzlike 2022-05-02 16:19 采纳率: 50%
浏览 62
已结题

为什么用@autowired注入的ApplicationContext实例,和方法中获取的ApplicationContext实例,不同?

为什么用@autowired注入的ApplicationContext实例,和方法中获取的ApplicationContext实例,不同?
包括用getBean()获取到的对象地址也不同,及时是单例模式也不同

img

img

  • 写回答

2条回答 默认 最新

  • a1767028198 2022-05-02 17:14
    关注

    如果你是xml的配置,这种情况很正常,springmvc在绝大部分的xml配置下,是子容器加载的controller bean,此时controller里面的applicationcontext是和ServletContext里面保存的content那是不同的

    img


    简单点来说,spring的主配置文件和springmvc的配置文件,存在两个applicationcontext,web.xml中配置的监听器ContextLoaderListener,则把spring的主配置对应的context丢到了ServletContext中(自己想想,为啥这里是主配置文件?)
    springboot的话,现在controller和service都是由一个applicationContext加载,它就无法复现你这个问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月2日
  • 已采纳回答 5月2日
  • 修改了问题 5月2日
  • 创建了问题 5月2日

悬赏问题

  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。
  • ¥20 CST怎么把天线放在座椅环境中并仿真
  • ¥15 任务A:大数据平台搭建(容器环境)怎么做呢?
  • ¥15 YOLOv8obb获取边框坐标时报错AttributeError: 'NoneType' object has no attribute 'xywhr'
  • ¥15 r语言神经网络自变量重要性分析
  • ¥15 基于双目测规则物体尺寸
  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)