Spring框架(入门)

(一)Spring 框架介绍 (最新Spring 5.0、开源框架)

      Spring 是于2003年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development

and Design中阐述的部分理念和原型衍生而来,是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成

以前只可能由EJB完成的事情,然而Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何

Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架

*  Spring 框架主要功能: 

           ◆  基于Java Beans的配置管理,采用IOC的原理,特别是对依赖注射技术的使用,这些都用来减少各组件间对实施细则的相互依赖性。 
           ◆  一个核心的,全局适用的bean工厂 
           ◆  一个一般抽象化的层面来管理数据库间的数据处理 
           ◆   建立在框架内的,对Java数据处理API和单独的JDBC数据源的一般性策略。因此,在数据处理支持上对Java企业版本环境的依赖性得以消除 
           ◆  和一些可持续性的框架,如Hibernate,JDO,iBATIS和db4o,的整合 
           ◆  web应用中的MVC框架,基于核心的Spring功能,支持多种产生视图的技术,包括JSP,FreeMarker,Velocity,Tiles,iText,和POI 
           ◆   大量的AOP框架以提供诸如数据处理管理的服务,同IOC的功能一样,目的是提高系统的模块化程度

*  Spring 框架组成模块

          Spring框架包含的功能大约由20个模块组成,这些模块按组可分为核心容器、数据访问/集成,Web,AOP(面向切面编

扫描二维码关注公众号,回复: 4950655 查看本文章

程)、设备、消息和测试,如下图所示。

          (1)IoC(Inversion of Control)控制反转,对象创建责任的反转,在spring中BeanFacotory是IoC容器的核心接口,负

责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖。XmlBeanFacotory实现BeanFactory接口,通过获取xml配置

文件数据,组成应用对象及对象间的依赖关系(spring中有三种注入方式,一种是set注入,一种是接口注入,另一种是构造方法

注入)

          (2)AOP面向切面编程:AOP就是纵向的编程,如下图所示,业务1和业务2都需要一个共同的操作,与其往每个业务中

都添加同样的代码,不如写一遍代码,让两个业务共同使用这段代码( spring中面向切面变成的实现有两种方式,一种是动态代

理,一种是CGLIB,动态代理必须要提供接口,而CGLIB实现是有继承)

                      

*  Spring 框架优势

                             

    ① 使J2EE易用和促进好编程习惯。

           Spring不重新开发已有的东西,因此在Spring中你将发现没有日志记录的包,没有连接池,没有分布事务调度。这些均

有开源项目提供(例如Commons Logging 用来做所有的日志输出,或Commons DBCP用来作数据连接池),或由你的应用程序

服务器提供。因为同样的的原因,我们没有提供O/R mapping层,对此已有好的解决办法:如Hibernate和JPA。 

     ② 使已存在的技术更加易用。

          例如尽管我们没有底层事务协调处理,但我们提供了一个抽象层覆盖了 JTA 或任何其他的事务策略。 

     ③ 方便解耦,简化开发。

         通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有

了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

      ④ AOP编程的支持。

        通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。

      ⑤ 声明式事务的支持

         在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和

质量。

       ⑥ 方便集成各种优秀框架

        Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如

Struts,Hibernate)等的直接支持。

       ⑦ 降低Java EE API的使用难度

         Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封

装,这些Java EE API的使用难度大为降低。
 

猜你喜欢

转载自blog.csdn.net/qq_25523265/article/details/83628583