1.1 简化 Java 开发

Spring 是一个开源框架,最早由 Rod Johnson 创建,并在《Expert Oneon- One:J2EE Design and Development》这本著作中进行了介绍。Spring 是为了解决企业级应用开发的复杂性而创建的,使用 Spring 可以让简单的 JavaBean 实现之前只有 EJB 才能完成的事情。但 Spring 不仅仅局限于服务器端开发,任何 Java 应用都能在简单性、可测试性和松耦合等方面从 Spring 中获益。

bean 的各种名称……虽然 Spring 用 bean 或者 JavaBean 来表示应用组件,但并不意味着 Spring 组件必须要遵循 JavaBean 规范。一个 Spring 组件可以是任何形式的 POJO。在本书中,我采用 JavaBean 的广泛定义,即 POJO 的同义词。

纵览全书,读者会发现 Spring 可以做非常多的事情。但归根结底,支撑 Spring 的仅仅是少许的基本理念,所有的理念都可以追溯到 Spring 最根本的使命上:简化 Java 开发。

这是一个郑重的承诺。许多框架都声称在某些方面做了简化,但 Spring 的目标是致力于全方位的简化 Java 开发。这势必引出更多的解释,Spring 是如何简化 Java 开发的

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

  • 基于 POJO 的轻量级和最小侵入性编程;

  • 通过依赖注入和面向接口实现松耦合;

  • 基于切面和惯例进行声明式编程;

  • 通过切面和模板减少样板式代码。

几乎 Spring 所做的任何事情都可以追溯到上述的一条或多条策略。在本章的其他部分,我将通过具体的案例进一步阐述这些理念,以此来证明 Spring 是如何完美兑现它的承诺的,也就是简化 Java 开发。让我们先从基于 POJO 的最小侵入性编程开始。