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模块的划分如下图:
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提供的是对核心业务功能的增强,这两个核心功能是无侵入式的,能够适用于绝大多数的业务需求。