Spring 理解简化Java开发的几种策略

Spring作为目前比较流行的开源框架,你会发现Spring可以做很多事情。但归根结底,支撑Spring的仅仅是少许的基本理念:简化Java开发。

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

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

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

在某些情况下,有些框架通过强迫应用继承它们的类或实现它们的接口从而让应用跟框架绑定。一个典型的例子是EJB2的无状态会话Bean。如:

Spring 理解简化Java开发的几种策略_第1张图片
Spring竭力的避免自身的API而弄乱你的应用代码。Spring不会强迫你实现它的规范接口或继续她规范的类,相反,在基于Spring构建的应用中,它的类通常没有任何痕迹表明你使用了Spring。最坏的场景是,一个类或许会使用Spring注解,但它依旧是POJO。如上文提到的HelloWorldBean:
Spring 理解简化Java开发的几种策略_第2张图片
HelloWorldBean类没有实现、继承或者导入与Spring API相关的任何东西,它只是一个普通的Java对象。

依赖注入

任何一个有实际意义的应用都是由两个或者更多的类组成,这些类相互之间进行写作来完成特定的业务逻辑。通常,每个对象负责管理与自己相互协作的对象(即它所依赖的对象)的引用,这将会导致高度耦合和难以测试的代码。
Spring 理解简化Java开发的几种策略_第3张图片
通过依赖注入(DI),对象的依赖关系将由负责协调系统中各个对象的第三方组件在创建对象时设定,对象无需自行创建或者管理它们的依赖关系--依赖关系将被自动注入到需要它们的对象中去。如:
Spring 理解简化Java开发的几种策略_第4张图片
Spring 理解简化Java开发的几种策略_第5张图片
对于如何创建、装载此处不做说明。

切面

Spring 理解简化Java开发的几种策略_第6张图片
接下来通过两张图片来展示它们之间的区别:
Spring 理解简化Java开发的几种策略_第7张图片
Spring 理解简化Java开发的几种策略_第8张图片
对于如何实现此处不做说明。

使用模板消除样板式代码

在编程过程中,有时因为使用Java API而导致的样板式代码,如使用JDBC访问数据库查询数据:
Spring 理解简化Java开发的几种策略_第9张图片
程序清单1.11 中的代码和你实现其他JDBC操作时所写的代码几乎是相同的,只有少量的代码与查询员工逻辑有关系,其他的代码都是JDBC的样板式代码。而Spring旨在通过模板封装来消除样板式代码,如Spring的JdbcTemplate使得在执行数据库操作时,避免传统的JDBC样板式代码成为了可能。
 
 

你可能感兴趣的:(Spring)