Spring阅读(三)认识模块结构

Spring阅读(三)认识模块结构,第1张

Spring阅读(三)认识模块结构

目录

一:Spring官网文档查看

二:Spring介绍

三:认识模块结构

1、核心容器相关模块

2、AOP模块

3、消息传递模块

4、数据访问和集成相关模块

5、Web相关模块

6、测试模块

7、模块代码结构


一:Spring官网文档查看

一个好的学习,我认为应该是从文档开始的,所以我们先认识下Spring的官网以及瞧瞧如何查看Spring文档。

Spring的官网地址为:https://spring.io/

进入后查看到的界面如下,简洁大气:

learn->quickstart可以让我们快速开始一个Spring boot项目,按照以下截图的索引去按照说明生成即可。

再点开Project->Spring framework,为概述说明,打开页面如下: 

切换当前页的页面到LEARN,就可以查看对应版本的文档了,页面截图如下:

点开一个版本的Reference Doc,页面如下:

 

再点开Core, 就可以愉快的阅读文档了,页面如下:

 当然我发现好像5.2及5.3的版本文档不够全,所以我又找了以下文档网址:

https://docs.spring.io/spring-framework/docs/

可以选中对应的版本-》spring-framework-reference-》htmlsingle,就可以查看每一个版本的参考文档了。

以下链接为5.0.0.M5的文档地址

https://docs.spring.io/spring-framework/docs/5.0.0.M5/spring-framework-reference/htmlsingle/

这个文档超级详细,可以作为学习的资料。点开后的部分页面如下:

二:Spring介绍

Spring是Java EE编程领域的一个轻量级开源框架,该框架由一个叫Rod Johnson的程序员在 2002 年最早提出并随后创建,是为了解决企业级编程开发中的复杂性,实现敏捷开发的应用型框架 。

这里做个简单的Java SE、EE、ME的介绍如下:

  • Java SE 是做电脑上运行的软件(桌面应用,C/S开发)
  • Java EE 是用来做网站的(Web,B/S开发)
  • Java ME 是做手机软件的
三:认识模块结构

Spring框架由大约20个模块组成的特性组成。这些模块被分为核心容器、数据访问/集成、Web、面向方面编程、检测、消息传递和测试,如下图所示(以上5.0.0.M5的文档地址可查看原文):

1、核心容器相关模块

核心容器由Spring - Core、Spring -beans、Spring -context、Spring -context-support和Spring - expression (Spring expression Language)模块组成。

spring-core和spring-beans模块提供了框架的基本部分,包括IoC和依赖注入特性。BeanFactory是工厂模式的复杂实现。它消除了对编程单例的需要,并允许您将依赖项的配置和规范从实际的程序逻辑中解耦。

Context (spring-context)模块构建在Core和Beans模块提供的坚实基础上:它是一种以类似于JNDI注册中心的框架风格方式访问对象的方法。Context模块从Beans模块继承了它的特性,并添加了对国际化(例如使用资源包)、事件传播、资源加载和通过(例如Servlet容器)透明创建上下文的支持。Context模块还支持Java EE特性,如EJB、JMX和基本远程。ApplicationContext接口是Context模块的焦点。Spring -context-support支持将常见的第三方库集成到Spring应用程序上下文中,特别是缓存(EhCache, JCache)和调度(CommonJ, Quartz)。

spring-expression模块提供了一个强大的表达式语言,用于在运行时查询和 *** 作对象图。它是JSP 2.1规范中指定的统一表达式语言(统一EL)的扩展。该语言支持设置和获取属性值、属性赋值、方法调用、访问数组、集合和索引器的内容、逻辑和算术运算符、命名变量,以及从Spring的IoC容器中按名称检索对象。它还支持列表投影和选择,以及常见的列表聚合。

2、AOP模块

spring-aop模块提供了一个与AOP联盟兼容的面向方面编程实现,允许您定义,例如,方法拦截器和切入点来干净地解耦代码,这些代码实现了应该分离的功能。使用源级元数据功能,您还可以将行为信息以类似于。net属性的方式合并到代码中。

独立的spring方面模块提供了与AspectJ的集成。

spring-instrument模块提供了类插装支持和类装入器实现,以便在某些应用服务器中使用。Spring -instrument- Tomcat模块包含Spring用于Tomcat的检测代理。

3、消息传递模块

Spring framework 4包括一个Spring消息传递模块,该模块具有来自Spring Integration项目的关键抽象,如Message、MessageChannel、MessageHandler等,以作为基于消息传递的应用程序的基础。该模块还包括一组用于将消息映射到方法的注释,类似于基于Spring MVC注释的编程模型。

4、数据访问和集成相关模块

数据访问/集成层由JDBC、ORM、OXM、JMS和事务模块组成。

spring-jdbc模块提供了一个JDBC抽象层,消除了对特定于数据库供应商的错误代码进行冗长的JDBC编码和解析的需要。

spring-tx模块支持对实现特殊接口的类和所有pojo (Plain Old Java Objects)的程序化和声明性事务管理。

spring-orm模块为流行的对象关系映射api(包括JPA和Hibernate)提供了集成层。通过使用Spring -orm模块,您可以将这些O/R-mapping框架与Spring提供的所有其他特性结合使用,比如前面提到的简单声明式事务管理特性。

spring-oxm模块提供了一个抽象层,支持对象/XML映射实现,如JAXB、Castor、JiBX和XStream。

spring-jms模块(Java消息传递服务)包含用于生成和使用消息的特性。从Spring framework 4.1开始,它就提供了与Spring消息传递模块的集成。

5、Web相关模块

Web层由spring-web、spring-webmvc和spring-websocket模块组成。

spring-web模块提供了基本的面向web的集成特性,比如多部分文件上传功能,以及使用Servlet监听器初始化IoC容器和面向web的应用程序上下文。它还包含一个HTTP客户端和Spring远程支持的web相关部分。

Spring -webmvc模块(也称为Web- servlet模块)包含Spring的模型-视图-控制器(MVC)和用于Web应用程序的REST Web服务实现。Spring的MVC框架提供了领域模型代码和web表单之间的清晰分离,并集成了Spring框架的所有其他特性。

6、测试模块

Spring -test模块支持使用JUnit或TestNG对Spring组件进行单元测试和集成测试。它提供了一致的Spring ApplicationContexts加载和这些上下文的缓存。它还提供了可用于隔离测试代码的模拟对象。

7、模块代码结构

5.0.0.M5版本模块代码结构如下:

笔者下载的github 5.2.x版本的模块代码结构如下:

通过比较发现,又增加了些许的模块,但不影响我们接下来的阅读。 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5118662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存