Spring框架工做原理及其优缺点详解

Spring的工做原理web

  Spring真正的精华是它的Ioc模式实现的BeanFactory和AOP,它本身在这个基础上延伸的功能有些多此一举。数据库

  Ioc模式是什么编程

  可伸缩性和重/轻量,谁是实用系统的架构主选?架构

  Spring它是一个开源的项目,并且目前很是活跃;它基于IoC(Inversion of Control,反向控制)和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层 中必须使用Spring,由于它模块化的很好,容许你根据本身的须要选择使用它的某一个模块;它实现了很优雅的MVC,对不一样的数据访问技术提供了统一的 接口,采用IoC使得能够很容易的实现bean的装配,提供了简洁的AOP并据此实现Transcation Managment,等等app

Spring的优缺点框架

  优势 jsp

a. Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB。若是你仅仅使用了Struts或其余为J2EE的 API特制的framework,Spring致力于解决剩下的问题。模块化

b. Spring能消除在许多工程中常见的对Singleton的过多使用。根据个人经验,这是一个很大的问题,它下降了系统的可测试性和面向对象的程度。 单元测试

c. 经过一种在不一样应用程序和项目间一致的方法来处理配置文件,Spring能消除各类各样自定义格式的属性文件的须要。曾经对某个类要寻找的是哪一个魔法般的属性项或系统属性感到不解,为此不得不去读Javadoc甚至源编码?有了Spring,你仅仅须要看看类的JavaBean属性。Inversion of Control的使用(在下面讨论)帮助完成了这种简化。测试

d.? 经过把对接口编程而不是对类编程的代价几乎减小到没有,Spring可以促进养成好的编程习惯。 

e. Spring被设计为让使用它建立的应用尽量少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。 

f. 使用Spring构建的应用程序易于单元测试。

g. Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。 

h. Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适用于许多web应用。例如,Spring能使用AOP提供声明性事务管理而不经过EJB容器,若是你仅仅须要与单个数据库打交道,甚至不须要一个JTA实现。 

i. Spring为数据存取提供了一个一致的框架,不管是使用的是JDBC仍是O/R mapping产品(如Hibernate)。 Spring确实使你能经过最简单可行的解决办法来解决你的问题。而这是有有很大价值的。

  缺点:

  使用人数很少、jsp中要写不少代码、控制器过于灵活,缺乏一个公用控制器。

 以上就是E良师益友网为你们详细讲解的三大框架中Spring的原理及其优缺点!

相关文章
相关标签/搜索