Spring 之Spring与SpringMVC父子容器详解

Spring与SpringMVC父子容器问题 在Spring整体框架的核心概念中,容器是核心思想,就是用来管理Bean的整个生命周期的,而在一个项目中,容器不一定只有一个,Spring中可以包括多个容器,而且容器有上下层关系,目前最常见的一种场景就是在一个项目中引入Spring和SpringMVC这两个框架,那么它其实就是两个容器,Spring是父容器,SpringMVC是其子容器,并且在Spring父容器中注册的Bean对于SpringMVC容器中是可见的,而在SpringMVC容器中注册的Bean对于Spring父容器中是不可见的,也就是子容器可 阅读详情


SpringBoot 启动默认没有父子容器,只有一个容器。

Spring与SpringMVC父子容器关系

Spring和SpringMVC的容器具有父子关系,Spring容器为父容器,SpringMVC为子容器,子容器可以引用父容器中的Bean,而父容器不可以引用子容器中的Bean。
注意: 这里仅是bean,对于一些属性文件 @value("${key}"),子容器也是拿不到父容器的。

子容器不能获取父容器的属性案例

spring-mvc容器加载的配置文件:
在这里插入图片描述
在这里插入图片描述
spring容器加载的配置文件:
在这里插入图片描述
在这里插入图片描述
尝试在spring-mvc容器中的controller中获取spring容器加载的配置文件属性值,如下图可以看出无法获取。
在这里插入图片描述
我们在spring-mvc容器中加载之前spring容器加载的配置文件,就可以获取到值了。
在这里插入图片描述

在 controller 中,用@Value注解取不到值,而是直接输出了${key}字符串

原因:
配置文件在项目中只在applicationContext.xml中配置了,没有在spring-mvc.xml中配置。

解决:
对应容器扫描写有属性property配置文件。
或者父容器注入得到属性,对外提供getter、setter方法,子容器通过getter方法获取。

分析:
Spring容器有父子容器的概念,SpringMVC是子容器,存放着Controller对象;Spring容器是父容器,存放着Mapper代理对象、Service对象。

注意:
子容器可以访问父容器的对象,父容器不能访问子容器中的对象。
不同容器之间的属性不能相互访问。

参考:
Spring与SpringMVC父子容器的关系与初始化
spring父子容器----子容器不能获取父容器的属性
详解contextConfigLocation|Spring启动过程详解
Spring学习笔记–父子容器详解
Spring IOC 父子容器(注解方式启动)

①电子产品拆解分析-暖手宝 电子产品拆解分析-暖手宝 ①按键三档调温暖手; ②长按进入氛围呼吸灯; ③安卓接口充电以及支持USB输出; 阅读详情

相关推荐

当兵心理测试软件,当兵心理测试题及答案

心理测试是一种比较先进的测试方法,它是指通过一系列手段,将人的某些心理特征数量化,来衡量个体心理因素水平和个体心理差异差异的一种科学测量方法。小编为你整理了当兵心理测试题及答案,希望对你有所参考帮助。征兵心理测试题(1代表是2代表否)1、我的胃口很好。12、我早上起来的时候,多半觉得睡眠充足,头脑清醒13、我喜欢看报纸上的犯罪新闻。14、有时我常感到困难重重,无法克服。25、我时常遇见一些所谓的专...

weixin_42128393的博客 1万+

boot spring 没有父子容器_Spring和SpringMVC父子容器问题(示例代码)

在 Spring 与 Springmvc 同时使用时,Spring 的 ContextLoaderListener 会创建的 SpringIOC 容器,SpringMVC 的 DispatcherServlet 会创建 SpringMVC 的 IOC 容器。SpringMVC会将 SpringIOC 容器设置为父容器。父容器对子容器是可见的,所以在子容器中可以访问父容器的 Bean 对象,而子容器...

weixin_39819671的博客 308

AOSP Android14 Launcher3——动画核心类QuickstepTransitionManager详解

是一个复杂但核心的动画管理器。它利用 Android 的远程动画机制,拦截系统默认的窗口切换,并替换为高度定制、与 Launcher UI 深度集成的平滑过渡动画。当用户从一个应用程序通过手势或按键返回到 Launcher (桌面) 时,它负责创建和运行动画,使得应用程序窗口能够平滑地过渡(通常是缩小)到 Launcher 上的对应目标(图标、小部件或屏幕中心),同时 Launcher 界面元素(工作区、背景等)恢复显示。计算动画所需的各种参数,如窗口的起始/结束位置、缩放比例、透明度、圆角、裁剪区域等。

Micheal_Yang's Blog 2667

spring-boot是否还和spring mvc一样存在父子容器

初始化web父容器对象,注册ContextLoaderListener到servletContext自定义了一个勾子方法,这个类定义了配置扫描类。

lh87270202的博客 1024

LangChain + PlayWright实战:5分钟搞定网页自动化测试(附完整代码)

本文详细介绍了如何利用LangChain与PlayWright构建智能网页自动化测试系统。通过环境配置、核心架构设计、实战Agent构建及性能优化等步骤,开发者可以快速实现高效的Web操作自动化,提升测试效率。文章还提供了完整代码示例和典型问题解决方案。

weixin_27791839的博客 239

【高等数值分析】Krylov子空间方法

文章目录1. 预备理论1.1 Krylov 子空间1.2 最佳逼近1.2.1 方法一:最佳平方逼近1.2.2 方法二:假设 AAA 对称正定1.2.3 方法三:残差2范数2. 基底正交化2.1 Arnoldi 过程(CGS)2.2 改进 Arnoldi 过程(MGS)2.3 Lanczos过程3. 方程组求解3.1 全正交方法 (FOM)3.2 D-Lanczos方法3.3 广义极小残量法(GMRES)3.4 MINRES 方法 1. 预备理论 现在需要求解一个大规模稀疏方程组 Ax=bAx=bAx=b,可

Glooow的博客 1万+

热门框架系列 (二) -- SpringMvc的父子容器,SpringBoot是否有父子容器?

@TOC# 热门框架系列 记录在程序走的每一步___auth:huf 从新的篇章开始;篇章阅读需要先关注; 因为笔者想参与技术文章的评选.;需要一定的粉丝量; 粉丝量达到一定数量.所有文章阅读限制将会全面放开;谢谢大家的支持 本章节为上一个章节的延续;仅此一章节的延续; 先抛出一个问题; SpringBoot 既然整合了SpringMVC 那SpringBoot 有没有子容器? 我们开始这个篇章吧! 在Spring Boot中 ...

wenaicoo的博客 3600

手把手教你用Anaconda安装李沐d2l-zh包(附常见报错解决方案)

本文提供了一份详尽的Anaconda环境下安装李沐d2l-zh包的实战指南。文章从创建虚拟环境、配置国内镜像源加速下载入手,分步讲解核心依赖的预安装策略,并重点剖析了安装过程中常见的报错及其解决方法,旨在帮助初学者和开发者高效、稳定地搭建深度学习实验环境。

efc1234567的博客 1010

Spring和SpringMVC 父子容器关系

Spring中可以包含多个子容器,一个项目中使用Spring和SpringMVC这两个框架,那么他们就是两个容器,Spring是父容器,SpringMVC是子容器。

安卓学吧 566

ArcGIS Pro 制作这种地图海报

ArcMap 版本与 ArcGIS Pro 版本的制图功能相差太多,无论从美观上还是制图效率都远远优于 ArcMap,用了一段时间的 ArcGIS Pro ,真心推荐有条件的大家赶紧试一试!一个软件也能搞定一张不错的海报哦!----吐槽:好的设计真的是门花时间的活,这个教程大概花了我7小时左右,我都忘了我自己教程中截图多少张了!(可能是我速度太慢了)测试数据:阿里云盘分享-----北极海冰数据.https://www.aliyundrive.com/s/SUhsnqfkmXh。

J_Giser的博客 1427

手把手教你学Simulink——四开关 Buck‑Boost(FSBB)变换器的无缝模式切换仿真

本文详细介绍了四开关Buck-Boost(FSBB)变换器的Simulink仿真方法,重点解决模式切换时的直通风险和输出电压波动问题。通过统一电压PI控制、迟滞比较模式仲裁(Buck/Boost/Pass-Through)和200ns死区设计,实现了Vin从26V到22V变化时Vout稳定在12V±0.15V。关键步骤包括:搭建功率级电路、Stateflow模式判断、PI控制器输出占空比映射(Buck模式D≈Vo/Vin,Boost模式D≈1-Vo/Vin),以及带死区的PWM信号分配。仿真验证了切换过程中

MHD0815的博客 115

Spring父子容器

首先,大家思考一个问题: 在开发中,我们经常在Controller中注入Service方法,完成业务处理;有没有试过在Service中注入Controller方法?这样注入会不会有问题? 按照我以前的理解就是:Spring上下文管理的是由@Service,@Respository和@Component这三个注解标识的bean;SpringMVC上下文管理的就是由@Controller标识的bean...

Fighting 732

Apifox接口测试+自动化测试

Apifox 接口测试+自动化测试快速入门!

程序员小杨哥的博客 1万+

Spring与SpringMVC父子容器详解

Spring和SpringMVC的容器具有父子关系,Spring容器为父容器,SpringMVC为子容器,子容器可以引用父容器中的Bean,而父容器不可以引用子容器中的Bean。 1. Spring父容器配置 2. Spring MVC子容器配置 3.Spring父容器(ioc)初始化过程 (1)、web应用程序启动时,tomcat会读取web.xml文件中的context-parm(含有配置文件的路径)和listener节点,接着会为应用程序创建一个ServletContex...

rogerxue12345的博客 2010

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

spring与springmvc父子容器

在spring和springmvc进行整合的时候,一般情况下我们会使用不同的配置文件来配置spring和springmvc,因此我们的应用中会存在至少2个ApplicationContext实例,由于是在web应用中,因此最终实例化的是ApplicationContext的子接口WebApplicationContext。

CHIKA2333的博客 358

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spring+SpringMVC父子容器?

这篇文章分享一下关于早期SpringMVC版本的一个重要概念:父子容器。

qq_20395245的博客 573

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Spring与SpringMvc之父子容器

父子容器概念 首先看一看springweb项目配置文件 由图可见,springweb项目中创建了2个WebApplicationContext,分别是spring创建的容器applicationContext.xml和springmvc创建的dispatcher-servlet.xml。 作用: springmvc   dispatcher-servlet.xml:在MVC三层模型中的controller控制层中,与视图解析器ViewReslover,HandlerMappi

qq_38425803的博客 938

71.Spring和SpringMVC为什么需要父子容器?

71.Spring和SpringMVC为什么需要父子容器?

weixin_43860634的博客 1241

探究Spring和SpringMVC父子容器关系

兄弟萌,相信有很多人想不到 Spring 和 SpringMVC 是父子容器吧,hhh,下面我们来一探究竟。 一般做 SSM 框架项目时,扫描 @Controller 注解类的对象是在 SpringMVC 容器中。而扫描 @Service、@Component、@Repository 等注解类的对象都是在 Spring 容器中。有没有兄弟想过这是为什么呢? Spring 和 SpringMVC 是有父子容器关系的,而且正是因为这个才往往会出现包扫描的问题。Spring是父容器,SpringMVC 是子容器。

devilzcl的博客 528

spring和springmvc父子容器概念介绍

https://www.cnblogs.com/grasp/p/11042580.html 转载地址:spring与springmvc父子容器_Spring教程_田守枝Java技术博客 1、spring和springmvc父子容器概念介绍 在spring和springmvc进行整合的时候,一般情况下我们会使用不同的配置文件来配置spring和springmvc,因此我们的应用中会存在至少2个ApplicationContext实例,由于是在web应用中,因此最终实例化的是ApplicationCo

yygr的博客 269

手撕spring和springmvc父子容器

一、背景 Spring和SpringMVC是有父子容器关系的,而且正是因为这个才往往会出现包扫描的问题,我们在此来分析和理解Spring和SpringMVC的父子容器关系并且给出Spring和SpringMVC配置文件中包扫描的官方推荐方式。 二、概念理解和知识铺垫 在Spring整体框架的核心概念中,容器是核心思想,就是用来管理Bean的整个生命周期的,而在一个项目中,容器不一定只有一个,Spring中可以包括多个容器,而且容器有上下层关系,目前最常见的一种场景就是在一个项目中引入Spring和Sprin

程序员麦冬的博客(公众号同名) 305

Spring与SpringMVC父子容器的关系与初始化

Spring和SpringMVC的容器具有父子关系,Spring容器为父容器,SpringMVC为子容器,子容器可以引用父容器中的Bean,而父容器不可以引用子容器中的Bean。了解了Spring与SpringMVC父子容器的关系,接下来让我们看看Spring与SpringMVC容器的初始化过程。以下讲解使用的web.xml文件如下: <context-param> ...

菜到怀疑人生的博客 1万+

spring和springMVC的父子容器

一、背景   最近由于项目的包扫描出现了问题,在解决问题的过程中,偶然发现了Spring和SpringMVC是有父子容器关系的,而且正是因为这个才往往会出现包扫描的问题,我们在此来分析和理解Spring和SpringMVC的父子容器关系并且给出Spring和SpringMVC配置文件中包扫描的官方推荐方式。 二、概念理解和知识铺垫   在Spring整体框架的核心概念中,容器是核心思想,就是...

xajh_czbk的博客 137

Spring和SpringMVC父子容器关系初窥

  这样我们在清楚了spring和springMVC的父子容器关系、以及扫描注册的原理以后,根据官方建议我们就可以很好把不同类型的Bean分配到不同的容器中进行管理。再出现Bean找不到或者SpringMVC不能跳转以及事务的配置失效的问题,我们就可以很快的定位以及解决问题了。很开心,有木有~...

zouduchen的博客 556

面试高频题:Spring和SpringMvc父子容器你能说清楚吗

其实父子容器对于程序员来说是无感的,是一个并没有什么用的知识点,都是Spring帮我们处理了,但是我们还是需要知道有这么个东西,不然我们有可能遇到问题的时候可能不知道如何下手。比如为啥我这个事物不起作用了,我这个aop怎么也不行了,网上都是这么配置的。

jj1245_的博客 1071
上一篇: JavaWeb 之web.xml配置中contextConfigLocation属性详解
下一篇: JavaWeb 之SpringMVC、Spring配置文件详解
yyangqqian
博客等级 码龄15年 406粉丝 406原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值