Spring是什么?
Spring是一个开源框架,由Rod Johnson创建,他在Expert One-on-One:J2EE Design and Development 这本书中阐述过这个框架。在该书中Spring被称为“接口21”
注意:
为了避免歧义,我们使用“EJB”来代表Enterprise JavaBean。当我们说原始的JavaBean时,我们使用“JavaBean”或简称为“Bean”,其他的一些在书中使用的名词有POJO(Plain Old Java Object)或POJI(Plain Old Java Interface)。
|
Spring 是为了简化企业级系统开发诞生的。开发Spring应用程序使用的都是JavaBeans,简化了测试,实现按接口(interface)编程,实现对象松耦合。
Spring 框架的两个核心概念:IoC 和 AOP
IoC:Inverstion of Control 译为:反向控制 或者称为 依赖注入(Dependency Injection)
AOP:Aspect-Oriented Programming 译为:面向切面编程
为了深入了解Spring,让我们把这个描述分解开来。
- 轻量级--从大小和系统开支上说Spring都算是轻量级的。整个Spring框架可以打成一个1MB多一点的JAR包,并且Spring的处理开支也非常小。更重要的是,Spring是非侵入式的:基于Spring开发的系统中的对象一般不依赖于Spring的类。
- 反向控制--Spring提倡使用反向控制(IoC)来实现松耦合。使用IoC,对象是被动接收依赖类而不是主动去找。你可以将IoC理解为JNDI的反转--对象不是从容器中查找它的依赖类,而是容器在实例化对象的时候主动将它的依赖类注入给它。
- 面向切面--Spring对面向切面编程提供了强大的支持,通过将业务逻辑从系统服务(如监控和事务管理)中分离出来,实现了内聚开发。系统对象只做它们该做的--业务逻辑,它们不负责(或关心)其他系统问题(如日志和事务支持)。
- 容器--Spring是一个容器,是因为它包含并且管理系统对象的生命周期和配置。你可以通过配置来设定你的Bean是单一实例,还是每次请求产生一个实例,并且设定它们之间的关联关系。Spring有别于传统的重量级EJB容器,这些容器通常很大,很笨重。
- 框架--Spring实现了使用简单的组件配置组合成个复杂的系统。在Spring中,系统中的对象是通过XML文件配置组合起来的。并且Spring提供了很多基础功能(事务管理、持久层集成等),这使开发人员能够专注于开发应用逻辑。
Spring模块
- 核心容器和支持工具
- Application Context(上下文)模块
- Spring的AOP模块
- JDBC抽象及DAO模块
- O/R映射集成模块
- Web模块(Web Context和Utility模块)
- SpringMVC框架
使用接口解耦合
减少耦合的一个通常的做法是将具体实现隐藏在接口下面,这样具体实现类的替换不会影响到引用类。
创建系统组件之间关联的动作叫做装配。
- 大小: 18.9 KB
分享到:
相关推荐
Spring in Action中文清晰版(带阅读笔记). Spring in Action中文清晰版(带阅读笔记).
Spring in Action中文清晰版(带阅读笔记)
《Spring+in+action+中文版(第4版)》读书笔记带图片
Spring in Action 中文 清晰版 (带阅读笔记)(共压缩4分卷) 此第3分卷 是扫描版的 感谢分享的兄弟
Spring In Action(第二版)中文版_笔记 by uuwoxin 1.1 Spring是什么 如果说BeanFactory使Spring成为容器的话,那么上下文环境就是使Spring成为框架的原因。 上下文环境扩展了BeanFactory,添加了对I18N(国际化)...
Spring in Action 中文 清晰版 (带阅读笔记)
spring in action 中文版,可能大家都知道了这本书吧,spring的入门书籍,介绍全面。我找了好久才好不容易找到一个是[完全]的中文版,不过是带有人为笔记的,版式上有点花,但总聊胜于无吧.当时是很高兴的.(一共34个包,...
Spring in Action 中文 清晰版 (带阅读笔记).part2
Spring in Action 中文 清晰版 (带阅读笔记).part1
资源名称:Spring相关资料汇总资源目录:【】spring_in_action_中文版【】Spring基础教程【】Spring技术内幕【】spring框架案例学习文档笔记资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
mybatis实战教程mybatis in action之五与spring3集成附源码 mybatis实战教程mybatis in action之六与Spring MVC 的集成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in ...
\contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...
JSF入门简体中文版 struts标签中文 config 设计模式:Java语言中的应用.pdf JAVA思想.pdf JAVA6.0API_CN.CHM Java常见问题.pdf Java数据结构和算法中文第二版.pdf Java网络高级编程.pdf jsp高级运用 spring2中文开发...