Spring-工作原理
sping-工作原理
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
Spring本质上是一个监听器
控制反转:让一个对象的创建不用new了,可以自动的生产,如下代码所示
PersonDaoBean是在应用内部创建及维护。 所谓控制反转就是应用本身不负责对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。 这样控制权就由应用转移到了外部容器,控制权的转移就是所谓的反转。
publicclass PersonServiceBean {private PersonDao personDao = new PersonDaoBean();public save(Person person) {personDao.save(person);}
}
依赖注入:
当我们把依赖对象交给外部容器负责创建,在运行期,由外部容器动态的将依赖对象注入到组件中。 可以通过构造器参数、setter方法、注解这3种方式注入。
@Resourceprivate DepartmentDao departmentDao;publicvoid delete(Long id) {departmentDao.delete(id); }
面向切面编程AOP:
OOP擅长定义从上到下的关系,但并不适合定义从左到右的关系。切面是将那些与业务无关(比如日志),却被业务模块共同调用的逻辑提取并封装,减少系统中的重复代码。比如实现权限拦截、运行期监控等。
容器:很好地与其他框架集成
比如struts与spring整合、spring与hibernate整合
框架模块很多,但核心是BeanFactory,管理JavaBean。还支持事务管理、单例模式等。
Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码(new 创建对象)来关联,都是通过配置说明管理的。
下期详讲spring配置(idea版)
Spring-工作原理相关推荐
- 面试中问的话题Spring工作原理
Spring工作原理 内部最核心的就是IOC了, 动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射 反射其实就是在运行时动态的去创建.调用对象,Spring就 ...
- Spring 工作原理
一. IoC(Inversion of control): 控制反转 1.IoC: 概念:控制权由对象本身转向容器:由容器根据配置文件去创建实例并创建各个实例之间的依赖关系 核心:bean工厂: ...
- 详解JSP 中Spring工作原理及其作用
详解JSP 中Spring工作原理及其作用 1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作. 2.Dispat ...
- Spring工作原理及其作用
1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作. 2.DispatcherServlet查询一个或多个Hand ...
- Spring工作原理与单例ThreadLocal
最近看到spring管理的bean为单例的,当它与web容器整合的时候始终搞不太清除,就网上搜索写资料, Tomcat与多线程 servlet是多线程执行的,多线程是容器提供的能力. servlet为 ...
- Spring工作原理及流程
spring的工作原理 一. IoC(Inversion of control): 控制反转 1.IoC: 概念:控制权由对象本身转向容器:由容器根据配置文件去创建实例并创建各个实例之间的依赖关系 核 ...
- (转)spring源码解析,spring工作原理
转自:https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/ Spring 的骨骼架构 Spring 总共有十几个组件,但是 ...
- java spring工作原理_SpringMVC的工作原理是什么样的,跟Spring的关系是怎么样的?
Spring MVC 的工作原理,很多人都不理解,今天借着题主的这个题目,我在此分享一篇外文翻译的技术贴给大家,希望对大家理解这个知识点有所帮助. 本文将深入探讨Spring框架的一部分--Sprin ...
- Spring工作原理详解
2019独角兽企业重金招聘Python工程师标准>>> Spring原理 最核心的就是IOC,动态注入DI,利用java里的反射,让一个对象的创建不用new了,可以自动的生产.Spr ...
- 详解Spring工作原理
1.spring原理 内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建.调用对象,Spring就是在运 ...
最新文章
- 盘点丨毕业年薪34万,高校人工智能研究哪家强?
- WPF 类型“System.ComponentModel.ISupportInitialize”在未被引用的程序集中定义。
- 用ACL 对Dos***进行分类的示例
- 博阅电纸书_【博阅电纸书】博阅 M1 柠檬电纸书阅读器评测,博阅T62电纸书评测_什么值得买...
- 如何在Angular.JS中打开JSON / XML文件
- struts2学习笔记(三) Action(上)
- tmp name php,linux环境 上传文件失败 tmp_name为空
- Centos6 import tensorflow遇到的问题
- UCIPC2012-Red/Blue Spanning Tree解题报告
- tinycc update VERSION to 0.9.27
- springboot 线程池和数据库链接池配置以及多线程效率实测
- 视频教程-WPF MVVM 编程模式/框架 基础+提高 项目开发实战视频教程-.NET
- 电脑主板故障维修案例
- VSS使用手册(ZZ)
- socket:read: Connection reset by peer
- Mono.Cecil
- python股票代码示例_补全股票代码位数的一百种姿势
- u盘UEFI模式安装Windows10和ubuntu18.04双系统
- 机器学习100天(三):003 数据预处理之处理缺失值
- 在计算机领域中通常用英语单词bit来表示,1在计算机领域中,通常用英文单词byte来表示资料...