Spring 整体架构
1. Core Container:核心容器(core、Beans、Context、Expression Language
- Core、Beans框架基础构成,提供IOC、依赖注入特性。BeanFactory
- Core:核心工具类包。
- Beans:包含访问配置文件,创建管理bean及进行IOC,DI操作所需要的类。
- Context:构建于Core及Beans之上,提供类似JNDI注册器框架式对象访问方法,Context集成Beans特性并提供大量扩展,国际化、
- 事件传播、资源加载等。支持J2EE特性(EJB、JMX、远程处理。ApplicatoinContext是Context的关键。
- Expression Language:运行时查询,操纵对象的表达式语言。
- JDBC:Spring对JDBC数据访问的所有封装。
- ORM:关系对象映射,JPA、JDO、Hibernate、Ibatis
- OXM:提供Object/XML映射实现的抽象层。
- JMX:消息制造和消费。
- Transaction:编程和声明性事务管理,实现特定的接口,并支持所有的pojo。
- WEB模块建立与应用上下文之上,为基于web的应用提供上下文
- Web模块:提供基础的面向Web的集成特性,
- Web-Servlet:Spring的MVC实现,
- Web-Struts:对Struts支持
- Web-Porlet:
- 核心类介绍
DefaultListableBeanFactory:bean加载核心部分。扩展类:XmlBeanFactory,自定义xml读取XmlBeanDefinitionReader,XmlBeanDefinitionReader:Xml读取。
ResourceLoader:资源加载器,加载制定路径文件并返回Resource
BeanDefinitionReader:资源文件读取,并转换为BeanDefinition的个性功能
EnvironmentCapable:定义获取Environment的方法。
DocumentLoader:加载资源文件并转换为Document
BeanDefiinitionDocumentReader:读取Document并注册BeanDefinition
- 配置文件读取过程步骤:
通过继承自AbstractBeanDefinitionReader的方法,通过ResourceLoader将资源文件转换为对应的Resource文件。通过DoucmentReader对Resource文件进行转换,转换为Doucment文件通过实现接口BeanDefinitionDocumentReader的DefaultBeanDefinitionDocumentReader类对Document进行解析,并使用BeanDefinitionParserDelegate对Element进行读取。
- 容器基础:XmlBeanFactory
文件系统:FileSystemResourceClasspath资源:ClassPathResourceURL资源:UrlResourceInputStream资源:InputStreamResourceByte数组:ByteResource
Spring 整体架构的更多相关文章
- Spring整体架构
Spring整体架构 Spring的整体架构 Spring框架是分层架构的,它包含了一系列的功能要素. Spring整体架构图 模块分类 1. Core Container Core Containe ...
- 【Spring源码深度解析系列 】Spring整体架构
一.Spring的整体架构和模块 二.模块分类: 1.Core Container Core Container包含有Core .Beans.Context.和Expression Language ...
- spring源码学习——spring整体架构和设计理念
Spring是在Rod Johnson的<Expert One-On-One J2EE Development and Design >的基础上衍生而来的.主要目的是通过使用基本的java ...
- (转) Spring源码阅读 之 Spring整体架构
标签(空格分隔): Spring 声明:本文系转载,原地地址:spring framework 4 源码阅读 Spring骨架 Spring的骨架,也是Spring的核心包.主要包含三个内容 cont ...
- 第一章 Spring整体架构和环境搭建(待续)
········
- Spring技术内幕:设计理念和整体架构概述(转)
程序员都很崇拜技术大神,很大一部分是因为他们发现和解决问题的能力,特别是线上出现紧急问题时,总是能够快速定位和解决. 一方面,他们有深厚的技术基础,对应用的技术知其所以然,另一方面,在采坑的过程中不断 ...
- Spring Framework(框架)整体架构 变迁
Spring Framework(框架)整体架构 2018年04月24日 11:16:41 阅读数:1444 标签: Spring框架架构 更多 个人分类: Spring框架 版权声明:本文为博主 ...
- spring源码深度解析—Spring的整体架构和环境搭建
概述 Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.Spring是于2003 年兴起的一个轻量级的Java 开发框 ...
- Spring的整体架构的认识
Spring的整体架构的认识 一).spring是用来做什么的? spirng使用基本的JavaBean来完成以前EJB所完成的事. 二).EJB EJB: Enterprise JavaBean, ...
随机推荐
- 【Java每日一题】20161123
package Nov2016; import java.util.Scanner; public class Ques1123 { public static void main(String[] ...
- SpringMVC框架介绍
1. SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现任何接口. 2.支持REST风格的URL请求. 3.采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵 ...
- servlet基本原理(手动创建动态资源+工具开发动态资源)
一.手动开发动态资源 1 静态资源和动态资源的区别 静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源. 动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变. <scr ...
- Javascript——闭包、作用域链
1.闭包:是指有权访问另一个函数作用域中的变量的函数.创建闭包的常见方式:在一个函数内部创建另一个函数. function f(name){ return function(object){ var ...
- 烦人的win10的输入法
这段时间在使用win10,被win10的输入法折腾的要死要死的... 通过度娘把它设置得跟win7使用习惯差不多了, (见:http://jingyan.baidu.com/article/b2c18 ...
- Monkey测试4——Monkey命令行可用的全部选项
Monkey命令行可用的全部选项 常规 --help 列出简单的用法. -v 命令行的每一个-v将增加反馈信息的级别. Level 0(缺省值)除启动提示.测试完成和最终结果之外,提供较少信息. Le ...
- WebDriver多线程并发
要想多线程并发的运行WebDriver,必须同时满足2个条件,首先你的测试程序是多线程,其次需要用到Selenium Server.下载位置如下图: 下载下来后是一个jar包,需要在命令行中运行.里面 ...
- GJM : Lua 语言学习笔记
Lua笔记 容易与C/C++整合 Lua所提供的机制是C所不善于的:高级语言,动态结构,简洁,易于测试和调试. Lua特有的特征: `1:可扩展性.卓越的扩展性导致了很多人将Lua用作搭建领域语言的工 ...
- MySQL 运行环境建议规范
一.操作系统环境 操作系统版本选择 CentOS/RHRL/ORACLE Linux 5.x/6.x x86_64 发行版 建议磁盘分区规则 MySQL 运行环境建议规范 挂载点 大小 分区类型 分区 ...
- 【自然框架】终于把源码弄到git上了。
好久没写博客了,发现又从左面的排名里掉出去了. 说来惭愧,一直说是开源,但是源码一直没能放到git里面.原因是,不会用. 最近终于把git弄明白了.把源码都放进去了. 刚兴趣的话可以来看看. http ...