一、简介
Spring是一个以IoC和AOP为核心的分层、全栈、轻量级开源框架,提供了表现层SpringMVC和业务层事务管理等多种企业级应用技术,也可以开放集成。源码世界上很多最流行的第三方框架和类库已经成为Java EE企业应用最常用的开源框架。
Spring官网:http://spring.io/
当我们谈论Spring时,我们实际上指的是Spring框架。
二、优势
1.方便解耦,简化开发
通过Spring提供的IoC容器,您可以使用Spring控制对象之间的依赖关系,并通过硬编码避免过度的编程耦合。用户不再需要为解析单例模式类和属性文件等低级需求编写代码,而可以专注于其高级应用程序。
2.AOP编程支持
Spring的AOP功能促进了面向方面的编程。许多使用传统OOP难以实现的功能可以通过AOP轻松处理。
3. 支持声明式交易
@Transactional 将您从单调、繁琐的事务管理代码中解放出来,让您可以灵活地以声明式的方式管理事务,提高开发效率和质量。
4、方便的程序测试
几乎所有测试任务都可以使用独立于容器的编程来执行。测试不再是一项昂贵的操作,而是可以轻松执行的操作。
5.方便集成各种优秀框架
Spring降低了使用不同框架的难度,直接支持多种优秀的框架,例如Struts、Hibernate、Hessian、Quartz等。
6.降低JavaEE API的使用难度
Spring对JavaEE API(JDBC、JavaMail、远程调用等)有一个很薄的封装层,大大降低了这些API的使用难度。
7.源码是经典的Java学习范式
Spring的源代码设计精巧、结构清晰、独具匠心,体现了熟练掌握Java设计模式的灵活运用和对Java技术的深入了解。它的源代码绝对是Java技术最佳实践的一个例子。
三、核心结构
Spring是一个轻量级框架,层次非常清晰,依赖和职责明确。主要包含数据处理模块、Web模块、AOP(面向切面编程)/切面模块、核心容器模块、测试模块等大模块。如下图所示,Spring依靠这些基础模块来实现一个轻量级、零侵入的框架,与现有解决方案很好地集成。
Spring核心容器
容器是Spring 框架的核心部分,负责Spring 应用程序中Bean 的创建、配置和管理。该模块包含一个Spring bean 工厂,为Spring 提供DI 功能。您还可以看到Spring 应用程序上下文有多种基于bean 工厂的实现。所有Spring 模块都构建在核心容器之上。
面向方面编程(AOP)/Aspects Spring
为面向方面的编程提供丰富的支持。该模块是Spring应用系统开发端的基础。与DI 类似,AOP 有助于隔离应用程序对象。
数据访问/集成
Spring的JDBC和DAO模块封装了大量的样板代码,使您的数据库代码变得简洁,让您更加专注于业务,避免因无法释放数据库资源而导致的问题。 另外,Spring AOP提供了数据访问的事务管理服务,Spring还集成了Hibernate、MyBatis等ORM。该模块由JDBC、事务、ORM、OXM 和JMS 模块组成。
网页模块
Web 该模块为Web应用程序提供了SpringMVC框架,还提供了各种远程调用解决方案来构建与其他应用程序的交互。 SpringMVC 框架提高了Web 层应用程序的松散耦合级别。
测试模块
测试为了让开发人员更容易进行测试,Spring 提供了专门用于测试Spring 应用程序的测试模块。 通过这个模块,Spring 提供了一组模拟对象实现,用于使用servlet、JNDI 等编写单元测试。
版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。