Spring 框架教程
Spring Framework是最流行的Java EE框架之一。本文面向希望学习Spring框架体系结构的Java开发人员,它的核心组件以及属于Spring框架伞的各种项目。
只需查看Spring Framework,Servlet,JSP和JSF的Google Trends图表。很明显,Spring在所有其他Java EE技术方面领先一步。
Spring Framework - Google趋势
目录[ 隐藏 ]
- 1 Spring Framework
- 1.1 Spring框架 - DI,IoC,AOP
- 1.2 Spring框架体系结构
- 1.3 Spring框架核心组件
- 1.4 Spring Framework Web
- 1.5 Spring框架数据访问
- 1.6 Spring框架其他模块
- 1.7 Spring 5功能
Spring框架
Spring是Java企业版最流行的框架之一。全世界的开发人员都使用Spring开发可靠和高质量的应用程序。Spring框架由Rod Johnson设计。从那时起,Spring已成为Java模型中Java世界的替代技术。您可以使用spring框架创建不同类型的应用程序。
Spring框架 - DI,IoC,AOP
Spring框架体系结构
Spring Framework分为许多单独的模块,允许您决定在应用程序中使用哪些模块。下图说明了Spring Framework架构中最重要的模块。
让我们逐个研究一下春季生态系统模块。
Spring Framework核心组件
Spring的Core容器包含四个模块:SpEL,Context,Core,Beans。这些元素的描述如下:
- SpEL模块为执行期间操作对象提供了强大的表达式语言。
- Context是在Beans和Core的基础上构建的,允许您访问设置中定义的任何对象。Context模块的关键元素是ApplicationContext接口。
- Core模块提供了框架的关键部分,包括IoC和DI属性。
- Bean模块负责创建和管理Spring Beans - 是应用程序上下文结构单元。
Spring Framework Web
Spring框架Web层由Web,Web-MVC,Web-Socket,Web-Portlet等组成。
- Web模块提供下载文件,创建Web应用程序,休息Web服务等功能。
- Web-MVC包含用于Web应用程序的Spring MVC实现。
- Web-Socket使用Web应用程序中的Web-Sockets为客户端和服务器之间的通信提供支持。
- Web-Portlet通过portlet环境提供MVC实现
Spring框架数据访问
数据访问/集成容器由JDBC,ORM,OXM,JMS和Transactions模块组成。
- JDBC提供了一个JDBC抽象层,使开发人员无需手动注册与连接数据库相关的单调代码。
- Spring ORM提供与Hibernate,JDO,JPA等流行ORM的集成。
- OXM模块负责链接Object / XML - XMLBeans,JAXB等。
- JMS(Java消息传递服务)模块负责创建,发送和接收消息。
- 事务支持实现某些方法和POJO的类的事务管理。
Spring Framework其他模块
Spring还包括许多其他重要的模块,例如AOP,Aspects,Instrumentation,Messaging和Test。
- AOP实现面向方面的编程,并允许使用整个AOP功能库。
- Aspects模块提供与AspectJ的集成,AspectJ也是一个功能强大的AOP框架。
- Instrumentation负责支持在服务器应用程序中使用的类检测和类加载器。
- Messaging模块提供STOMP支持。
- 最后,Test模块使用TestNG或JUnit Framework提供测试。
Spring 5 功能
Spring 5 带来了大量的更新,Spring 4 . 一些重要特点Spring 5 是:
- 支持Java 8,Java 9,Java EE 7,Java EE 8,Servlet 4.0,Bean Validation 2.0和JPA 2.2。我很高兴看到Spring正在努力追赶所使用的主要技术的最新版本。
- 使用新模块改进了日志记录 - spring-jcl。
- 文件操作使用NIO 2流,从而提高了性能。
- 支持Reactor 3.1 Flux和Mono以及RxJava 1.3和2.1作为Spring MVC控制器方法的返回值。
- 支持Kotlin,Project Lombok,JSON Binding API作为Jackson和GSON 的替代品。
- Spring WebFlux - 春天变得活跃。
- 支持JUnit 5
- 通过Kotlin提供功能编程支持。
您可以在我们的GitHub存储库上查看Spring Projects 。
参考文献:Spring官方网站,Spring参考文档