Spring注解开发教程——简介(1)

一、概述

1.Spring是一种开源轻量级框架,是为了解决企业应用程序开发复杂性而创建的。

2.Spring的核心是一个轻量级的容器。

3.Spring为企业级开发提供了很多的功能,但是这些功能都依赖于它的两个核心特性,也就是依赖注入(dependency injection,DI)和面向切面编程(aspect-oriented programming,AOP)。

4.Spring提供了对现存的各种框架(Structs、JSF、Hibernate、Ibatis、Webwork等)相整合的方案,它最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。

 

二、Spring主要模块简介

Spring模块的划分如下图:

Spring注解开发教程——简介(1)

1.Spring Core:Spring的核心,它是框架最基础的部分,提供IOC和依赖注入特性。

2. Spring Context:Spring上下文容器,它是BeanFactory功能加强的一个子接口。

3. Spring Web:它提供Web应用开发的支持。

4.Spring MVC:它针对Web应用中MVC思想的实现

5. Spring DAO:提供对JDBC抽象层支持,简化了JDBC编码。

6.Spring ORM:它支持用于常见的ORM框架的整合,比如:Spring + Hibernate、Spring + iBatis的整合等等。

7.Spring AOP:面向切面编程,它提供了AOP思想编程实现

 

三、Spring的优缺点

优点:

    1.Spring是非侵入式的框架,目标是使应用程序代码对框架依赖最小化。

    2.Spring提供AOP编程,可以方便的实现对程序进行增强。

    3.Spring能够很方便集成各种优秀框架,简化开发复杂度。

    4.Spring通过IOC容器,维护对象的生命周期和依赖关系,简化开发复杂度。

缺点:

    1.Spring依赖于反射,反射影响性能

    2.Spring入门难度较高。

四、Spring应用场景

Spring的核心内容IOC和AOP在大多数应用场景都可以适用,因为IOC提供的是对对象声明周期和其依赖关系的维护管理,AOP提供的是对核心业务功能的增强,这两个核心功能是无侵入式的,能够适用于绝大多数的业务需求。