(一)Spring框架——概览

来源:互联网 发布:二叉树的前序遍历java 编辑:程序博客网 时间:2024/04/27 07:32

       Spring是最流行的企业java应用程序开发框架,全世界数百万的开发者使用spring框架创造高性能的,容易测试的,可重用的代码。

       spring框架是一个开源的java平台,最初由Rod Johnson 编写,并在2003年6月在Apache2.0许可发布。

       从大小和透明度来说,spring是轻量级的,该框架的基本版本只有大约2MB。

       spring框架的核心特性可以用来开发java应用,但是也有在基于Java EE平台之上创建web应用的扩展。Spring框架的目标是使得J2EE的开发更易于使用,并通过基于POJO的编程模型促进良好的编程实践。

使用Spring框架的好处:

  • Spring能让开发者利用POJOs开发企业级的应用。只是用POJOs的好处是,你不需要类似应用程序服务器的EJB容器产品,你可以值选择一个健壮的servlet容器(如:Tomcat、或其他的一些商业产品)。
  • Spring是以模块化的方式来组织的。即使有大量的包和类,但是你只需要关心你需要的,而可以忽略其他的。
  • Spring并没有创造出新的技术,而是正真的利用了一些已经存在的技术,例如几个ORM框架、日志框架、JEE、QuartZ和JDK计时器和其他的视图技术。
  • 测试一个使用Spring编写的代码是很容易的因为环境依赖的代码已经被搬到了这个框架里面。此外,通过使用JavaBean风格的POJOs,使得利用依赖注入的方式注入测试数据变得更加简单。
  • Spring的web框架是一个设计良好的web MVC 框架,它提供了很多功选择的web框架,像Struts或其他的一些web框架。
  • Spring提供了一个实用的API,来转化特定于技术的异常(例如:由JDBC、Hibernate或JDO抛出的)到一致的未经检查的异常中。
  • 轻量级的IoC容器往往是轻量级的,尤其是和EJB容器相比较。这个对于在内存和CPU有限的计算机上开发和部署应用是非常有好处的。
  • Spring提供了一个统一的事物管理接口来按比例缩小到局部事物中(例如使用单一的数据库),或按比例扩大到全局事物中(例如使用JTA)。

依赖注入(DI):

        Spring最突出的技术就是依赖注入(DI)也叫控制反转。控制反转是一个一般的概念,可以通过不同的方式来表达,而依赖注入仅仅只是其中一个更具人体的解释。

当编写一个复杂的应用程序的时候,应用程序的类应该尽可能的独立于其他的Java类,以此来提高在单元测试中重用和测试这些类独立于其他类的可能性。依赖注入有助于将这些类粘合在一起同时保证每个类的独立性。

        什么是正真的依赖注入?让我们来分开理解这两个词。这里的以来部分转化为两个类的关联。例如:class A 依赖于class B。而注入指的是,class B会通过IoC注入到class A中。

        依赖注入可能发生在传递参数到构造器的方式,或使用setter方法post-construction。

面向切面的编程(AOP):

       Spring的一个关键的组件就是面向切面的编程(AOP)框架。这个横跨多个应用程序的点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。关于切面这里有很多公共利益方面的例子,包括日志、声明性事物、安全、和缓存等。

       class是OOP中关键的单元模块,而在AOP中模块单元是aspect。DI能够帮助你解耦应用程序中的对象,而AOP能够帮助你解耦有影响的对象的横切关注点。

       Spring框架的AOP模块提供了面向切面的变成实现,能够允许你定义方法拦截器(method-interceptors)和切入点(pointcuts),来干净的解耦代码。



0 0