《Spring in Action 中文版》 读书笔记

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框架

使用接口解耦合

减少耦合的一个通常的做法是将具体实现隐藏在接口下面,这样具体实现类的替换不会影响到引用类。

创建系统组件之间关联的动作叫做装配

 

你可能感兴趣的:(spring,AOP,框架,IOC,读书)