Spring - 父容器与子容器
一、Spring容器(父容器)
1、Mapper代理对象
2、Service对象
二、Springmvc(前端控制器)(子容器)
Controller对象
1.标准的配置是这样的:Controller只在SpringMVC的配置文件扫描。Service等只在Spring容器的配置文件配置扫描。
2.Spring中也可以扫描Controller,但是使用时还是使用的SpringMVC自己的(自己没有配置,那么不能用),造成对象冗余,而且使用时事务控制可能有问题。
3.SpringMVC中也可以配置扫描Service等,也造成冗余,而且使用时事务控制可能有问题。
通过Value注入时,在Controller中不能使用注入属性,因为Controller是子容器控制的。
除非在spring-mvc.xml中也加入配置:
<!-- 加载文件上传路径配置文件 解决@controller 中无法注入配置文件中的属性 -->
<context:property-placeholder location="classpath*:file.properties"/>
三、总结
1、避免父子容器拥有共同的实例,是没有必要的使用方式。
常见的资源初始化、预热多次;如果父子容器都有实例,而通过SpringUtil 的方式获取bean,就要看SpringUtil 所在的容器,来获取对应的bean,也容易混乱
2、事务一般不要放在子容器中,子容器应该仅仅存在 web相关的bean;这也间接说明@Transactional 不应该修饰controller
3、如果希望对子容器的实例拥有事务能力,需要确保<aop:aspectj-autoproxy/> 以及Aspect 配置在子容器中
转载于:https://www.cnblogs.com/caoshouling/p/8644514.html
Spring - 父容器与子容器相关推荐
- CSS让子容器超出父元素(子容器悬浮在父容器效果)
前言 有时候,我们需要如下图这样一个悬浮效果需求: 实现 在标准的正常的情况下,只能使用 绝对定位 来完成. 第一步:父容器定位设置为 relative(相对定位). 第二步:子容器定位设置为 abs ...
- css居父容器下,整理:子容器垂直居中于父容器的方案
本文在evernote里有备份.如果evernote的阅读区域嫌窄了,那么可以把这个链接拖入书签并点击javascript:jQuery("#container").width(9 ...
- Spring容器和springmvc容器的区别联系
Spring是根容器,SpringMVC是其子容器.子容器的创建依赖于父容器的创建.子容器(SpringMVC容器)可以访问父容器(Spring容器)的Bean,父容器(Spring容器)不能访问子容 ...
- 【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备上的兼容问题 | 触摸获取焦点 | 按键获取焦点 )
Android TV 开发系列文章目录 [Android TV 开发]安卓电视调试 ( 开启网络远程调试 ) [Android TV 开发]焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设 ...
- [css] 写出固定子容器在固定的父容器下水平垂直居中的布局
[css] 写出固定子容器在固定的父容器下水平垂直居中的布 1.父容器 position: relative,子元素 position: absolute;left: 50%;top: 50%;tra ...
- 父级容器relative子级容器absolutte时,如何设置子级窗口的宽度
<span style="color:#434343">当子容器的position设置为absolute或者fixed,如果元素的父容器为body的时候设置width为 ...
- boot spring 没有父子容器_Spring父子容器问题
这个问题老早就存在了,只是今天组长让我看AOP不生效的时候,才真实遇到这个问题,之前都是用的Spring Boot开发,不会存在这个问题. 问题描述 如果使用传统的方式来开发Spring项目,要部署在 ...
- Spring和springmvc两个容器的关系
1.如果子容器(SpringMVC)的包扫描时,把service类扫进去SpringMVC中,会出现配置的事务不生效.因为这样controller会先调用子容器里的service,而子容器里的serv ...
- Spring和SpringMVC的父子容器关系
容器 在Spring整体框架的核心概念中,容器是核心思想 就是用来管理Bean的整个生命周期的 在一个项目中,容器不一定只有一个 Spring中可以包括多个容器,而且,容器有上下层关系 一个项目中引入 ...
最新文章
- 洛谷 3519 bzoj 2213 Difference
- yii权限rbac验证三张表字段说明
- 第一次使用Android Studio时你应该知道的一切配置
- matlab 图像显著性检测ft_图像显著性检测总结
- STM32学习笔记(七) ADC模数转换测电平(普通和DMA模式)
- EXE与SYS通信(其他模式)
- 云计算机创意名,有创意的道路名字推荐,分享一些好听有内涵的路名
- PHP-Open Flash Chart注意事项
- 简述中断处理的6个步骤_微机原理67章答案
- 都是第一,3143亿背后科技公司贡献了多少?
- android背景颜色动态修改,Android自定义TextView带圆角及背景颜色(动态改变圆角背景颜色)...
- 中国医院评审/评级标准及区别和特点
- FlinkSql系列5之 Regular Join
- 12帧跑步动画分解图_今天给大家分享一个跑步动画教程和注意事项!希望有所帮助!...
- 如何理解软件测试质量,我对测试总结报告和质量分析报告的理解
- 电子计算机的指法,键盘指法图/电脑键盘指法练习
- Python seaborn 条形图
- 多自由度机械臂运动学正-逆解|空间轨迹规划控制|MATLAB仿真+实际机器调试
- 中学计算机社团活动计划,社团活动方案
- Alibaba独家首发“Java成长笔记”,差距不止一点点
热门文章
- RocketMQ-初体验RocketMQ(05)_RocketMQ架构解读
- python学习笔记(八)——继承
- Mybatis (ParameterType) 如何传递多个不同类型的参数
- 图像混合模式:Android Paint Xfermode 使用和demo
- 在python下实现ssh出现错误:ModuleNotFoundError: No module named ‘cryptography‘
- C什么k什么_cssci跟c刊有什么区别
- MATLAB调用python文件方法
- Python文件的读写操作
- CSS学习16之层级
- 安装python3.8.0步骤_python3.8.0安装教程_后端开发