Spring 体系结构(Spring 概述 二)
来源:互联网 发布:圆形蓄水池算法 编辑:程序博客网 时间:2024/06/16 21:48
Spring核心框架由4000多个类组成,整个框架按其所属功能可以划分为5个主要模块
从整体来看,这5个主要模块几乎为企业应用提供了所需的一切,从持久层、业务层到展现层都拥有相应的支持。
- IoC
Spring核心模块实现了IoC的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系的描述,由IoC容器负责依赖类之间的创建、拼接、管理、获取等工作。BeanFactory接口是Spring框架的核心接口,它实现了容器许多核心的功能。
Context模块构建于核心模块之上,扩展了BeanFactory的功能,添加了i18n国际化、Bean生命周期控制、框架事件体系、资源加载透明化等多项功能、JNDI获取、EJB集成、远程访问等。ApplicationContext是Context模块的核心接口。
表达式语言模块是统一表达式语言(Unified EL)的一个扩展,该表达式语言用于查询和管理运行期的对象,支持设置/获取对象属性,调用对象方法,操作数组、集合等。此外,该模块还提供了逻辑表达式运行,变量定义等功能,可以方便地通过表达式串和Spring IoC容器进行交换 - AOP(Aspect Oriented Programming)
AOP是继OOP之后,对编程设计思想影响极大的技术之一。 AOP面向切面编程,是进行横切逻辑编程的思想,它开拓了考虑问题的思路。是目前软件开发中的一个热点。在AOP模块里,Spring提供了满足AOP Alliance规范的实现,还整合了AspectJ这种AOP语言级框架。在Spring里实现AOP编程有众多选择。在Java 5.0引入java.lang.instrument,允许在JVM启动时启用一个代理类,通过该代理类在运行期修改类的字节码,改变一个类的功能,从而实现AOP的功能。 - 数据访问和集成
任何应用程序的核心问题是对数据的访问和操作。数据有多种表现形式,如数据表、XML、消息等,而每种数据形式又拥有不同的数据访问技术(如数据表的访问既可以直接通过JDBC,也可以通过Hibernate或MyBatis)。
首先,Spring站在DAO的抽象层面,建立了一套面向DAO层的统一异常体系,同事将各种访问数据的检查型异常转换为非检查刑异常,为整合各种持久层框架提供基础。其次,Spring通过模板化技术对各种数据访问技术进行了薄层封装,将模式化的代码隐藏起来,使数据访问的程序得到大幅简化。这样,Spring就建立起了和数据形式及访问技术无关的统一的DAO层,借助AOP技术,Spring提供了声明式事务的功能。 - Web及远程操作
该模块建立在Application Context模块之上,提供了Web应用的各种工具类,如通过Listener或Servlet初始化Spring容器,将Spring容器注册到Web容器中。该模块还提供了多项面向Web的功能,如透明化文件上传、Velocity、FreeMarker、XSLT的支持。此外,Spring可以整合Struts、WebWork等MVC框架。 - Web及远程访问
Spring 自己提供了一个完整的类似于Struts的MVC框架,成为Spring MVC。 - WebSocket
WebSocket提供了一个在Web应用中高效、双向的通信,需要考虑到客户端(浏览器)和服务器之间的高频和抵时延消息交换。一般的应用场景有在线交易、游戏、协作、数据可视化等。
此外,Spring在远程访问及Web Service上提供了对很多著名框架的整合。由于Spring框架的扩展性,特别是Spring框架影响性的扩大,越来越多的框架主动支持Spring框架,使得Spring框架应用的涵盖面越来越宽广。
阅读全文
0 0
- Spring 体系结构(Spring 概述 二)
- Spring 框架概述(二)
- 第一章、spring概述二
- Spring.Net入门篇(二)概述
- 跟着远叔学Spring系列(二)——Spring概述
- spring体系结构
- Spring 体系结构
- Spring体系结构
- Spring体系结构
- Spring(一)---Spring概述
- spring框架(二)——spring概述与spring的核心之IOC
- Spring(1)概述
- (二)Spring的IOC&DI概述
- spring概述
- Spring概述
- Spring 概述
- Spring 概述
- Spring 概述
- 关于Lua的Unity UI面向过程编程模板
- insert 死锁
- Maven私服软件Nexus
- JQ复选框,选择后按钮触发后出现图片,可同时出现多个图片
- 51nod--1098最小方差
- Spring 体系结构(Spring 概述 二)
- 接竹竿
- 在亚马逊AWS(ubuntu)服务器搭建git,用git从客户端上传代码到服务器
- 2017多校训练赛第一场 HDU 6035 Colorful Tree (dfs+正序统计)
- PAT乙级 1011. A+B和C (15)
- JQuery_dom节点操作
- OSG动画库Animation解析(三)
- RAIDraid阵列卡详解
- npm install时总是报phantomjs-prebuilt@2.1.14安装失败