Spring框架——初识Spring(一)概述与特点

入门简介

1、什么是Spring(概述)

2、Spring特点(优势)

2.1 方便解耦

2.2 AOP编程支持

2.3 方便程序测试

2.4 方便和其他框架进行整合

2.5 方便进行事务操作

2.6 降低API的开发难度

3、Spring框架模块


1、什么是Spring(概述)

Spring框架是一个开放源代码J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。

  • Spring是轻量级开源的JavaEE框架
  • Spring可以解决企业级应用开发的复杂性
  • Spring两大核心——以IOC(控制反转)、AOP(面向切面编程)为主要构建思想的容器框架
  • Spring是一个分层的JavaEE Full-stack(一站式)开源框架
  • Spring在表现层(Web层)、业务逻辑层(Service层)、数据访问层(Dao层)中均提供了不同的解决方案
  • 基于Spring开发的应用中的对象可以不依赖于Spring的API

2、Spring特点(优势)

2.1 方便解耦

  • Spring通过作控制反转(IOC)的技术促进了低耦合,把对象创建和对象之间的调用过程,交给Spring进行管理,避免硬编码所造成的过度程序耦合(包类之间的依赖关系)。
  • IOC(Inversion of Control)——控制反转,即“不用打电话过来,我们会打给你”。将对象的创建权交给Spring,无需我们手动new创建,对象的创建交给了Spring框架来完成。可以用来减低计算机代码之间的耦合度
  • 其中最常见的方式叫做依赖注入(Dependency Injection,简称DI——即依赖的对象不需要手动调用setXX方法去设置,而是通过相应配置进行赋值。
  • 实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。

2.2 AOP编程支持

  • AOP(Aspect Oriented Programming)——面向切面编程,能帮助我们无耦合的实现日志记录,性能统计,安全控制。
  • 同时把应用的业务逻辑与系统的服务分离开来。
  • Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用

2.3 方便程序测试

  • 可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。
  • 例如:Spring对Junit4支持,可以通过注解方便的测试Spring程序。

2.4 方便和其他框架进行整合

  • Spring 还提供了与第三方数据访问框架(如Hibernate、JPA)无缝集成,而且自己也提供了一套JDBC访问模板来方便数据库访问。
  • Spring还提供与第三方Web(如Struts1/2、JSF)框架无缝集成,而且自己也提供了一套Spring MVC框架,来方便web层搭建。
  • Spring能方便的与Java EE(如Java Mail、任务调度)整合,与更多技术整合(比如缓存框架)。

2.5 方便进行事务操作

  • Spring对下至本地业务,上至全局业务(JAT)提供了统一的事务管理接口
  • Spring中我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

2.6 降低API的开发难度

  • Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。
  • Spring提供一个方便的API将特定技术的异常(由JDBC, Hibernate, 或JDO抛出)转化为一致的、 Unchecked异常

3、Spring框架模块

Spring框架——初识Spring(一)概述与特点

Data Access/Integration层:包含有JDBC、ORM、OXM、JMS和Transaction模块。

Web层:包含了Web、Web-Servlet、WebSocket、Web-Porlet模块。

AOP模块:提供了一个符合AOP联盟标准的面向切面编程的实现。

Core Container(核心容器):包含有Beans、Core、Context和SpEL模块。

Test模块:支持使用JUnit和TestNG对Spring组件进行测试。

 

Spring官网                              Spring下载地址