《Spring源码深度解析》一
Spring整体架构

1.1 Spring整体架构
1.1.1 Core Container:
模块:Core、Beans、Context和Expression Language
Core:框架的基础部分, 提供IOC 和依赖注入特性。也包含核心工具类。
基础概念是BeanFactory, 它提供对工厂模式的经典实现来消除对程序性单例模式的需要, 并真正地允许你从程序逻辑中分离出依赖关系和配置。
Bean:包含访问配置文件、创建和管理bean以及进行IoC/DI操作相关的所有类
Context:提供了一种类似于JNDI注册器的框架式的对象访问方法
ApplicationContext接口是Context模块的关键
Expression Language:提供了表达式语言
支持设置/获取属性的值,属性的分配,方法的调用,访问数组上下文(accessiong the context of arrays )、 容器和索引器 、逻辑和算术运算符、命名变量以及从Spring的IoC容器中根据名称检索对象 。它也支持list投影、选择和一般的list聚合。
1.1.2 Data Access/Integration
模块:JDBC、ORM、OXM、JMS和Transaction
JDBC:提供了JDBC抽象层
ORM:提供了交互层,如JPA/JDO/Hibernate/ibatis
OXM:提供了一个对Object/XML映射实现的抽象层,包括 JAXB、Castor、XMLBeans、JiBX和XStrearn
JMS:包含一些制造和消费信息和特性
Transaction:支持编程和声明性的事务管理
1.1.3 Web
模块:Web、Web-Servlet、Web-Structs(被弃用)和Web-Porlet
Web:提供了基础的面向Web的集成特性,如多文件上传、使用servlet listeners初始化IoC容器以及一个面向Web的应用上下文
Web-Servlet:MVC实现
Web-Porlet:提供了Porlet和Web-Servlet模块的MVC实现
1.1.4 AOP
模块:Aspect、Instrumentaion
Aspect:提供了对AspectJ的集成支持
Instrumentaion:提供了class instrumentation支持和classloader实现,使其可以在特定的应用服务器上使用
1.1.5 Test
支持使用JUnit和Test'NG对Spring组件进行测试
1.2 补充:
AspectJ神仙操作:
helloWorld示例:

增加事务:

编译:

输出:

《Spring源码深度解析》一的更多相关文章
- tcp/ip原理/三次握手/四次挥手
@ tcp/ip原理 1.1 tcp/ip三次握手 1.1.1 建立过程说明 a) 由主机A发送建立TCP连接的请求报文, 其中报文中包含seq序列号, 是由发送端随机生成的, 并且还将报文中SY ...
- 白话TCP/IP原理
TCP/IP(Transmission-Control-Protocol/Internet-Protocol),中文译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议 ...
- <TCP/IP原理> (四) IP编址
1.IP地址的基本概念:作用.结构.类型 2.特殊地址:作用.特征 网络地址.广播地址(直接.受限) 0.0.0.0 环回地址 3.单播.多播.广播地址:特征 4.专用地址:作用.范围 5.计算和应用 ...
- <TCP/IP原理> (二) OSI模型和TCP/IP协议族
1.OSI参考模型 1)作用 2)各层的名称和功能 2.对分层网络协议体系的理解 1)不同节点:层次组成不同,作用不同 2)横向理解:虚通信.对等实体.协议.PDU 3)纵向理解:封装与解封.服务.接 ...
- <TCP/IP原理> (一)
1.协议和标准 2.标准化组织 3.Internet标准:RFC 4.Internet的管理机构 一.协议和标准 1.协议(Protocol) 一组控制数据通信的规则 三要素:语法(syntax).语 ...
- TCP/IP原理浅析
TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...
- [转] TCP/IP原理、基础以及在Linux上的实现
导言:本篇作为理论基础,将向我们讲述TCP/IP的基本原理以及重要的协议细节,并在此基础上介绍了TCP/IP在LINUX上的实现. OSI参考模型及TCP/IP参考模型 OSI模型(open syst ...
- TCP/IP原理简述
TCP/IP与OSI TCP/IP工作在第4层,在TCP/IP协议簇中,有两个不同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议),它们分别承载不同的应用.TCP协议提供可靠的服务,UDP ...
- <TCP/IP原理> (三) 底层网络技术
传输介质 局域网(LAN) 交换(Switching) 广域网(WAN) 连接设备 第三章 底层网络技术 引言 1)Interne不是一种新的网络 建立在底层网络上的网际网 底层网络——“物理网”,网 ...
- 在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP
如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...
随机推荐
- python 并发编程 基于线程池实现并发的套接字通信
不应该让服务端随着 并发的客户端数量增多,而无数起线程,应该用线程池,限制线程数量,控制最大并发数 io密集型程序,最大并发数是2 客户端 from socket import * client = ...
- hdoj4507(数位dp)
题目链接:https://vjudge.net/problem/HDU-4507 题意:定义如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关—— 1.整数中某一位是7: 2.整数的每一位 ...
- etcd集群添加节点
查看当前集群节点信息 # etcdctl member list --write-out=table +------------------+---------+------------------- ...
- centos7搭建单机redis5.0
目录 1. redis初步安装 2. 配置 3. 设置开机启动(centos6) 3.1 编写启动脚本 3.2 设置权限 3.3 启动测试 3.4 设置开机自启动 4. 设置开机启动(centos7) ...
- E - 卿学姐与城堡的墙(树状数组求逆序数)
卿学姐与城堡的墙 Time Limit: 2000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- go相关资料
1.go的调度2.go struct能不能比较 因为是强类型语言,所以不同类型的结构不能作比较,但是同一类型的实例值是可以比较的,实例不可以比较,因为是指针类型 3.go defer(for defe ...
- element-ui select 下拉框位置错乱--解决
element-ui select 下拉框位置错乱 由于使用 element-ui 的 select 组件时,下拉框的位置错乱了. 开始查找问题 通过各种问题查找,发现是 css 问题 css bod ...
- eclipse中web项目tomcat的设置
1. 出现的问题: web开发中(eclipse环境),为本地项目添加tomcat,我们一般都会选择直接添加.在本次开发中突然遇到一个问题:因为项目涉及到文件上传,我利用MultipartFile进 ...
- 如何计算java程序运行花了多长时间。加时间戳。
long start = System.currentTimeMillis(); // 记录起始时间 try { Thread.sleep(5000); // 线程睡眠5秒,让运行时间不那么小 } c ...
- Delphi 基于组件的编程思想