Spring5.3.9框架文档之一: 概览

Spring让企业级应用的开发更加简单,它使得JAVA能够在企业环境中得到应用。当前版本将在JVM中支持Groovy, Kotlin,同时也将能够灵活地生成多种针对不同应用需求的架构。在Spring 5.1中,JDK1.8以上的版本是必须的,同时也针对JDK11 LTS提供额外的支持。JDK1.8中,最推荐的版本是JAVA SE 8U60, 但一般来说使用新近的版本会更好。
Spring广泛支持各种应用场景。在大企业中,应用通常需要长时间不停机,因此JDK跟应用服务器的升级周期不在开发人员的控制。另外应用也可能是以单一的jar包运行在云环境中,其中启用了嵌入式的服务器。还有一些是单机应用(比如批量batch 或者集成工作负载)甚至不需要服务器。
Spring是开源的。它拥有庞大且活跃的社区,能基于现实应用案例提供源源不断的回馈,这使得Spring在很长的时间里能够成功地不停演变。

1.我们想通过Spring传递什么
Spring这个术语,在不同语境下有不同的理解,它可以指Spring框架本身,随着时间流动,其他类型的Spring项目在该框架基础上慢慢建立起来。一般来说,当然人们提到Spring, 他们说的是整个Spring家族。而在这里,Spring指的是框架本身。
Spring框架是由不同模块构成的。应用可以选择它们需要的模块。而核心的模块是the core container,即核心容器,包括了配置模型与依赖注入机制。除此之外,Spring提供了对多种基础应用架构的支持,包括应用通信,事务数据与持久性,网站应用。同时还包含了继续servlet的Spring MVC网站框架与Spring WebFlux reactive网站框架。
另外关于模块有一点需要提醒的是,Spring框架jar包能够被发布到JDK9的模块路径【jigsaw】。对于启用jiasaw的应用来说,Spring5系列的jar包能够通过自动模块命名入口【入口用于定义稳定的语言级别模块命名,与jar中的artifact名字无关】。当然Spring框架的jar包在JDK1.8或者1.9以上的类路径下也能很好地工作。

2.Spring框架的历史
Spring产生于2003年,作为针对复杂的J2EE的一个回应。然而也有观点认为,JAVA EE与Spring是一个整体,Spring其实是小心地整合了EE中特定的规范,包括:

Servlet API
WebSocket API
Concurrency Utility并发功能
JSON绑定API
Bean检验
JPA
JMS
为事务引导服务的JTA/JCA
Spring框架也支持依赖注入,公用注解规范,开发者能在框架里选择性使用各种Spring指定提供的规范机制。
因为Spring5要求至少跟上了JAVA EE7的水平,同时也额外整合了EE8,这使得Spring兼容了像Tomcat8, 9,Websphere9,以及JBoss EAP7。

随着时间推进,JAVA EE在应用开发中的角色也在变化。一开始应用只需要在一个服务器上部署。今天,随着Spring boot的使用,应用部署基于devops运营模式与云环境,内置了Servlet容器。在Spring5中,WebFlux应用甚至不需要直接使用Servlet API,就能运行在没有Servlet容器的服务器上【比如Netty】.
Spring将继续创造与发展。除了Spring框架,很多其他相关项目值得关注,例如Spring boot, Spring Security, Spring cloud, Spring batch和release cadence.

3.设计理念
当我们在学习一个框架的时候, 我们要了解的不仅仅是它做了什么, 且要理解它所遵循的原则. 以下是Spring框架所遵循的原则:

  • 提供不同层次上的选择. Spring会尽可能让你延迟设计决定, 例如你可以通过配置的方式切换持久层, 无更改代码. 同样道理对于很多其他基础组件及其与三方接口的集成
  • 接纳多样性. Spring是灵活的, 它不会固执地认定事物应该是怎么样去做, 而是去广泛支持不同层次的应用需要.
  • 维持最大的向后兼容性. Springe在演变的过程中, 不同版本被极其严格管理以防止版本冲突问题. 具体来说, Spring通过严格指定的JDK版本与三方库从而保证了基于Spring的应用与工具库的维护的便利性.
  • 注重接口设计. Spring团队花费了很多的心力与时间去设计接口, 使得接口尽量便利以及在版本之间避免冲突.
  • 设置高标准的代码质量. Spring强调有意义的, 实时的与准确的javadoc. 如果没有工具包依赖循环论证, 几乎没有项目能够产生清晰的代码体系.

4.回馈与贡献
如果有关于如何实现相关的问题, 以及如何诊断与发现问题, 我们建议使用Stack Overflow. 如果你很肯定Spring中存在某些问题, 或者希望增加某些特性, 可以在GitHub进行反馈.
如果你有一些解决方案, 你可以在GitHub提交你的代码. 不过你需要了解的是, 对于所有琐碎的问题, 我们希望在问题记录中有完整的文件记录.

5.准备开始
如果你刚刚开始使用Spring, 你可以通过新建Spring boot了解Spring框架. 其实Spring boot是提供一个快速(死板的)方式去生成Spring应用, 它基于Spring框架, 采用常用的配置, 使得你能尽快启动一个应用.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: 中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·本文档为双语同时展示,一行原文、一行译文,可逐行对照,避免了原文/译文来回切换的麻烦; ·有原文可参照,不再担心翻译偏差误导; ·边学技术、边学英语。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值