精通Spring:读书笔记(一)
1、Spring IoC,借助于依赖注入设计模式,使得开发者不用理会对象自身的生命周期及其关系,而且能够改
善开发者对模式的使用。 管理单个对象本身不是件难事,难就难在处于Team中的各个对象。因为它们之
间的关系往往是千差万别的,好比:开发者在不同的团队中所处的不同角色一样。 借助于Spring IoC,
不仅使得应用中的对象关系更加清晰一致,而且使得一切对象可控。最为重要的一点是:对象本身的生
命周期及对象之间的关系部用再让开发者费神。
2、Spring AOP,借助于Spring实现的拦截器,开发者能够实现以声明方式使用企业级服务,比如安全性服
务、事务服务。AOP能够合理地补充OOP技术,Spring AOP合理地补充了Spring IoC容器。借助于Spring
AOP,开发者能够高效地使用J2EE企业服务,声明式、基于元数据访问企业级服务,这些都是Spring AO
的操控范围。
3、Spring服务抽象,借助于各种J2EE API抽象,使得开发者能够一致地使用J2EE技术,而不管具体是使用
什么J2EE API。借助于Spring服务抽象,使得应用代码大大减少。 通过研究Spring服务抽象,使得开发
者能够快速掌握各种J2EE API的核心内容,因为Spring抽象服务时架构在J2EE API基础之上的。
Template方法实现是Spring服务抽象中至关重要的开发利器,缺少Template方法实现,会使Spring操作
JNDI、Transaction、JMS、Hibernate等企业服务显得生涩。
4、JBoss优势:
??? 1、本身将Tomcat容器作为其Web容器,从开发者的角度JBoss和Tomcat不存在冲突。
??? 2、选用Tomcat,需要使用它未提供的功能时(JavaMail、JMS、JCA、EJB),需要额外安装和???
??? 学习。
??? 3、从产品功能角度考虑,JBoss是J2EE应用服务器,实现了整个J2EE平台技术。在工业强度上???
??? ,Tomcat不如JBoss。
5、降低应用组件之间的依赖:???
??? 依赖注入(控制反转)---IoC---Inversion of Control
??? ??? 基于设值(setter-based)
??? ??? 基于构建器(constructor-based)
??? 面向切面编程---AOP---Aspect Oriented Programming
6、借助于XML定义文件,开发者能够在运行时链接不同的应用组件。
7、Spring优点:
??? J2EE应该易于使用,针对接口编程,而不是类。
??? 最大化使用JavaBean,以配置应用。
??? OO设计最为重要,甚至比J2EE更重要。
??? 利于测试:单元测试和集成测试。
8、IoC设计模式:重点关注组件的依赖性、配置以及生命周期。
应用代码在使用实例之前,需要创建对象实例;
然而,IoC将创建对象实例的任务交给IoC容器,使得应用代码只需要直接使用实例,这就是IoC。
9、IoC优势:
??? 1.应用组件不要在运行时寻找其协作者,因此更易于开发和编写应用
??? 2.由于借助IoC容器管理组件的依赖关系,使得应用的单元测试和集成测试更利于展开
??? 3.借助于IoC容器管理业务对象的前提下,很少需要使用具体IoC容器提供的API(集成现有遗留???
??? 应用成为可能)
10、Spring除了提供IoC容器外,还为开发J2EE应用提供了其他大量功能,比如:Spring AOP、Spring MVC
Framework、集成各种O/R Mapping技术、集成各种试图技术、提供DAO支持、提供事务管理框架、基于
Spring 构建的Acegi安全框架等。
11、Spring管理Bean的生命周期:
??? 只可以管理那些通过“singleton”方式创建的JavaBean实例。
??? 对于那些以“prototype”方式创建的JavaBean实例,Spring并不能够控制其生命周期,因为一旦???
这种JavaBean实例创建成功,整个JavaBean将交付给Spring应用去管理。