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源码深度解析》一的更多相关文章

  1. tcp/ip原理/三次握手/四次挥手

    @ tcp/ip原理 1.1 tcp/ip三次握手 1.1.1 建立过程说明 a)   由主机A发送建立TCP连接的请求报文, 其中报文中包含seq序列号, 是由发送端随机生成的, 并且还将报文中SY ...

  2. 白话TCP/IP原理

    TCP/IP(Transmission-Control-Protocol/Internet-Protocol),中文译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议 ...

  3. <TCP/IP原理> (四) IP编址

    1.IP地址的基本概念:作用.结构.类型 2.特殊地址:作用.特征 网络地址.广播地址(直接.受限) 0.0.0.0 环回地址 3.单播.多播.广播地址:特征 4.专用地址:作用.范围 5.计算和应用 ...

  4. <TCP/IP原理> (二) OSI模型和TCP/IP协议族

    1.OSI参考模型 1)作用 2)各层的名称和功能 2.对分层网络协议体系的理解 1)不同节点:层次组成不同,作用不同 2)横向理解:虚通信.对等实体.协议.PDU 3)纵向理解:封装与解封.服务.接 ...

  5. <TCP/IP原理> (一)

    1.协议和标准 2.标准化组织 3.Internet标准:RFC 4.Internet的管理机构 一.协议和标准 1.协议(Protocol) 一组控制数据通信的规则 三要素:语法(syntax).语 ...

  6. TCP/IP原理浅析

    TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...

  7. [转] TCP/IP原理、基础以及在Linux上的实现

    导言:本篇作为理论基础,将向我们讲述TCP/IP的基本原理以及重要的协议细节,并在此基础上介绍了TCP/IP在LINUX上的实现. OSI参考模型及TCP/IP参考模型 OSI模型(open syst ...

  8. TCP/IP原理简述

    TCP/IP与OSI TCP/IP工作在第4层,在TCP/IP协议簇中,有两个不同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议),它们分别承载不同的应用.TCP协议提供可靠的服务,UDP ...

  9. <TCP/IP原理> (三) 底层网络技术

    传输介质 局域网(LAN) 交换(Switching) 广域网(WAN) 连接设备 第三章 底层网络技术 引言 1)Interne不是一种新的网络 建立在底层网络上的网际网 底层网络——“物理网”,网 ...

  10. 在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP

    如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...

随机推荐

  1. 用poi从excel文档导入数据

    import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; impo ...

  2. Jmeter安装篇(win10)

    参考博文:https://blog.csdn.net/a13124837937/article/details/79628838 以下是我按照参考博文进行的实际操作过程,此篇只为记录,尽量精简内容. ...

  3. cocos2dx基础篇(1) Cocos2D-X项目创建

    已经入行工作半年多时间了,以前都是把这些东西记录在有道云上面的,现在抽出些时间把以前的笔记腾过来. 具体的环境配置就不用说了,因为现在已经是2018年,只需要下载对应版本解压后就能使用,不用再像多年前 ...

  4. 【VS开发】使用WinPcap编程(4)——把网络数据包存储到一个文件中

    这里用到的数据结构是pcap_dumper_t,这也是一个相当于文件描述符的东西,我们在用的时候先指定pcap_dumper_t *dumpfp; 使用两个函数来存储网络数据,一个是pcap_dump ...

  5. [Python3] 026 常用模块 calendar

    目录 calendar 1. calendar.calendar(year, w, l, c, m) 2. calendar.prcal(year, w, l, c, m) 3. calendar.m ...

  6. [转帖]关于Ubuntu与Debian的关系,了解!

    关于Ubuntu与Debian的关系,了解! https://blog.csdn.net/guyue35/article/details/47286193 了解一下区别..   饮水思源:Ubuntu ...

  7. spark 常用设置

    1.spark.hadoop.validateOutputSpecs 若设置为true,saveAsHadoopFile会验证输出目录是否存在.虽然设为false可直接覆盖文件路径

  8. Matcher和Pattern总结

    Matcher.Pattern简介 java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pat ...

  9. 基于Caffe训练AlexNet模型

    数据集 1.准备数据集 1)下载训练和验证图片 ImageNet官网地址:http://www.image-net.org/signup.php?next=download-images (需用邮箱注 ...

  10. Codeforces1256E_Yet Another Division Into Teams

    题意 n个人,每人有一个能力值a[i],要求分成多个队伍,每个队伍至少3个人,使得所有队伍的max(a[i])-min(a[i])之和最小. 分析 不会巧妙的dp,想了一天只想到了暴力的dp. 先排序 ...