Spring in action 4 第一章:Spring之旅

第一章 Spring之旅

1.1简化Java开发


为了降低Java开发的复杂性,Spring采取了四种关键策略:

  •  - 基于POJO的轻量级和最小侵入性编程;
  •  - 通过依赖注入和面向接口实现松耦合;
  •  - 基于切面和惯例进行声明式编程;
  •  - 通过切面和模板减少样板式代码。

 
1.1.1激发POJO的潜能


Spring的非侵入编程模型意味着POJO在Spring应用和非Spring应用中都可以发挥相同的作用。可以通过DI(依赖注入)来进装配POJO


1.1.2依赖注入

 

  • 如果一个对象只通过接口(而不是具体实现或初始化过程)来表明依赖关系,那么这种依赖能够在对象本身毫不知情的情况下,用不同的具体实现进行替换。
  • 装配:创建应用组件之间协作的行为通常称为装配。Spring可以采用XML、注解等装配方式。
  • Spring应用上下文(Application Context):装载bean的定义并把它们组装起来。Spring应用上下文全权负责对象的创建和组装。

1.1.3应用切面


面向切面编程(AOP):允许你把遍布应用各处的功能分离出来形成可重用的组件。


1.1.4 使用模板消除样板式代码


Spring旨在通过模板封装来消除样板式代码。


1.2容纳你的Bean


Spring容器:负责创建对象,装配它们,配置它们并管理它们的整个生命周期,从生存(new)到死亡(finalize)。容器是Spring框架的核心。


1.2.1使用应用上下文


常用的Spring应用上下文类型:
① AnnotationConfigApplicationContext:从一个或多个基于Java的配置类中加载Spring应用上下文。
② AnnotationConfigWebApplicationContext:从一个或多个基于Java的配置类中加载Spring Web 应用上下文。
③ ClassPathXmlApplicationcontext:从类路径下的一个或多个XML配置文件中加载上下文定义,把应用上下文的定义文件作为类资源。
④ FileSystemXmlapplicationcontext:从文件系统下的一个或多个XML配置文件中加载 上下文定义。
⑤ XmlWebApplicationContext:从Web应用下的一个或多个XML配置文件中加载上下文定义。


1.2.2 bean的生命周期

1.3俯瞰Spring风景线


1.3.1 Spring模块

              

  1. Spring核心容器:容器是Spring框架最核心的部分,管理Spring的应用中bean的创建、配置和管理。该模块还包含了Spring bean工厂,它为Spring提供了DI的功能。还提供了许多企业服务,如:E-mail、JNDI访问、EJB集成和调度。所有的Spring模块都构建于核心容器上。
  2. Spring的AOP模块(面向切面编程模块):提供了面向切面编程的支持
  3. 数据访问与集成:Spring的JDBC和DAO模块抽象了在JDBC编写中产生的大量的样板式代码。Spring的ORM模块建立在对DAO的支持之上,并为多个ORM框架提供了一种构建DAO的简便方式。但Spring并没有创建自己的ORM解决方案,而是对许多流行的ORM框架进行了集成。还包含了在JMS(Java Message Service)之上创建的Spring抽象层,它会使用消息以异步的方式与其他应用集成。
  4. Web与远程调用:提供了面向用户的web应用,还包含了多种构建与其他应用交互的远程调用方案。同时Spring还自带了一个远程调用框架:HTTP invoker。
  5. Instrume ntation:提供了为JVM提添加代理的功能。
  6. 测试:对于集成的测试,该模块为加载Spring应用上下文中的bean集合以及与Spring上下文中的bean进行交互提供了支持。


1.3.2 Spring Portfolio

 

  1. Spring Web Flow:Spring Web Flow建立于Spring MVC框架之上,它为基于流程的会话式Web应用提供了支持。
  2. Spring Web Service:Spring Web Service 提供了契约优先的Web Service模型,服务的实现都是为了满足服务的契约而编写的。
  3. Spring Security:利用Spring AOP,Spring Security 为Spring应用提供了声明式的安全机制。
  4. Spring Integration:Spring Integration提供了多种通用应用集成模式的Spring声明式风格实现。
  5. Spring Batch:提供对数据的批处理支持
  6. Spring Data:Spring Data使得在Spring中使用任何数据库都变得非常容易,Spring Data为持久化提供了一种简单的编程模型。
  7. Spring Social:Spring Social是一个社交网络扩展模块,它可以帮助通过REST API连接Spring应用,其中有些Spring应用可能原本并没有任何社交方面的功能目标。
  8. Spring Mobile:Spring Mobile 是Spring MVC新的扩展模块,用于支持移动Web应用开发。
  9. Spring for Android:这个项目,旨在通过Spring框架为开发基于Android设备的本地应用提供某些简单的支持。
  10. Spring Boot:该项目,以Spring的视角,依赖于自动配置技术,大量简化Spring本身的样板式代码。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值