- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Spring的起源和整体架构
一、什么是Spring
Spring是一个开源框架,是一个为开发者提供一站式的轻量级开发平台,它由Rod Johnson创建。(什么是一站式?Spring不会给你的工程添加对其他的框架依赖。
)
框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。
Spring有分层的体系结构,这意味着你能选择仅仅使用它任何一个独立的部分,而它的架构又是内部一致Spring BeanFactory 概念贯穿于Spring始终, 而且是Spring如此内在一致的关键原因。
,所以Spring既是全面的又是模块化的。
二、Spring的设计目的:
在java EE的应用开发中,支持POJO即POJO是一个简单的普通的Java对象,它包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
(Plain Old Java Object) 和使用JavaBean的开发方式,使应用面向接口开发,充分支持OO的设计方法,因而使J2EE开发更加容易。
另一方面,通过使用Spring的IoC容器,能够降低复杂对象之间的耦合性。它使组织应用变得容易和迅速,代码显得更一致和幽雅。
IoC有几个重要的好处,例如: 因为组件不需要在运行时间寻找合作者,所以他们可以更简单的编写和维护。在Spring版的IoC里,组件通过暴露JavaBean的setter方法表达他们依赖的其他组件。这相当于EJB通过JNDI来查找,EJB查找需要开发人员编写代码。同样原因,应用代码更容易测试。JavaBean属性是简单的,属于Java核心的,并且是容易测试的:仅编写一个自包含的Junit测试方法用来创建对象和设置相关属性即可。
三、Spring的整体架构
作者在设计上将Spring分为核心、组件和应用3个基本层次。
Spring体系的核心是IoC和AOP。一方面,它通过IoC容器来管理POJO对象,以及它们之间的耦合关系,使企业资源可以用简单的java语言来描述;另一方面,可以通过AOP以动态和非侵入方式典型地,Spring应用中的对象不依赖于Spring的特定类。
来增强服务的功能。所有的Spring模块都是在核心容器之上构建的。
Spring IoC:包含了最基本的IoC容器BeanFactory的接口和实现,如XmlBeanFactory,SimpleJndiFactory、StaticListableBeanFactory,还设计了IOC的高级形态ApplicationContext 应用上下文供用户使用。Spring通过IoC技术促进了松耦合,使一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
Spring AOP:实现了一个完整的建立AOP代理对象,实现AOP拦截,直至实现各种Active的通知过程。AOP允许通过分离应用的业务逻辑与系统级服务(例如审计auditing和事务transaction管理)进行内聚性的开发,应用对象只实现它们应该做的——完成业务逻辑——仅此而已。
Spring MVC:以DispatcherServlet为核心,实现了MVC模式,包括怎样与Web容器集成,Web请求的拦截、分发、处理和ModelAndView数据的返回,以及各种UI视图展现和数据表现。
Spring JDBC/ORM:Spring为数据存取提供了一个一致的框架,不论是使用的是JDBC还是O/R mapping产品。Spring 提供了一个强有力的模板类JdbcTemplate简化JDBC操作,DataSource,JdbcTemplate都可以以Bean的方式定义在xml配置文件,JdbcTemplate创建只需注入一个DataSource,应用程序Dao层只需要继承JdbcDaoSupport, 或者注入JdbcTemplate,便可以获取JdbcTemplate。
spring事务管理:Spring事务策略有一个统一的抽象,是由实现org.springframework.transaction.PlatformTransactionManager这个接口完成的。
Public interface PlatformTransactionManager()...{
TransactionStatue getTransaction(TransactionDefinition definition)
throws TransactionException;
Void commit(TransactionStatus status) throws Transactio
您可能关注的文档
- Progressive and Discrete Auctions a Finite Sample Evaluation Based on Dominated Strategies.pdf
- Projective Dynamics Analysis of Magnetization Reversal.pdf
- protel元器件中英文对照表.doc
- Proteus在感测技术课程设计中的应用.pdf
- PROMO简单的因果效应在时间序列上的分析(PROMO Simple causal effects in time series).pdf
- Proteus单片机仿真中的μCOSⅡ移植.pdf
- Promptx软件安装调试说明书.doc
- Proxy源代码分析谈谈如何学习linux网络编程.doc
- PrototypingTechniques(制作原型的技巧).pdf
- ProvablySecure and CommunicationEfficient Scheme for Dynamic Group Key Exchange. Availabl.pdf
- 甘肃省XB师范大学附属中学2025届高三上学期一模诊断考试地理答案.doc
- 甘肃省XB师范大学附属中学2025届高三上学期一模诊断政治含解析.doc
- 安徽省皖江名校2024-2025学年高一上学期12月联考英语无答案.doc
- 2025年1月八省联考高考综合改革适应性测高三化学陕西山西宁夏青海卷无答案.doc
- 2025年1月八省联考高考综合改革适应性测高三化学四川卷无答案.doc
- 2025年1月八省联考高考综合改革适应性测高三政治陕西山西宁夏青海卷无答案.doc
- 2025年1月内蒙古自治区普通高等学校招生考试适应性测试(八省联考)历史无答案.doc
- 2025年1月内蒙古自治区普通高等学校招生考试适应性测试(八省联考)历史含解析.doc
- 2025年1月四川省普通高等学校招生考试适应性测试(八省联考)历史含解析.doc
- 2025年1月四川省普通高等学校招生考试适应性测试(八省联考)政治无答案.doc
文档评论(0)