【翻译 Spring 5.0.4.RELEASE】Spring Framework Overview Version 5.0.4.RELEASE

1. What We Mean by “Spring”

“Spring”一词在不同情况下意味着不同的事物。 它可以用来引用Spring Framework项目本身,这是它开始的地方。 随着时间的推移,其他Spring项目已经建立在Spring框架之上。 大多数情况下,当人们说“Spring”时,他们指的是整个项目系列。 本参考文档重点介绍基础:Spring框架本身。

Spring框架分为几个模块。 应用程序可以选择他们需要的模块。 核心是核心容器的模块,包括配置模型和依赖注入机制。 除此之外,Spring框架为不同的应用程序体系结构提供了基础支持,包括消息传递,事务数据和持久性以及Web。 它还包括基于Servlet的Spring MVC Web框架以及Spring WebFlux反应式Web框架。

关于模块的注释:Spring的框架jar允许部署到JDK 9的模块路径(“Jigsaw”)。 为了在启用Jigsaw的应用程序中使用,Spring Framework 5 jars带有“Automatic-Module-Name”清单条目,它定义了独立于jar伪影的稳定语言级别模块名称(“spring.core”,“spring.context”等) 名称(罐子遵循与“ - ”相同的命名模式,而不是“。”,例如“spring-core”和“spring-context”)。 当然,Spring的框架jar在JDK 8和9的classpath上都能正常工作。

2、History of Spring and the Spring Framework

Spring于2003年应运而生,以应对早期J2EE规范的复杂性。 虽然有些人认为Java EE和Spring竞争激烈,但Spring实际上是对Java EE的补充。 Spring编程模型不支持Java EE平台规范; 相反,它集成了精心挑选的EE保护伞个人规格:

  • WebSocket API (JSR 356)
  • Concurrency Utilities (JSR 236)
  • JSON Binding API (JSR 367)
  • Bean Validation (JSR 303)
  • JPA (JSR 338)
  • JMS (JSR 914)
  • as well as JTA/JCA setups for transaction coordination, if necessary.

Spring框架还支持依赖注入(JSR 330)和Common Annotations(JSR 250)规范,应用程序开发人员可以选择使用这些规范来代替Spring框架提供的Spring特定机制。

从Spring Framework 5.0开始,Spring需要Java EE 7级别(例如Servlet 3.1+,JPA 2.1+)至少 - 同时在Java EE 8级别提供开箱即用的新API集成 (例如Servlet 4.0,JSON绑定API)在运行时遇到。 这使Spring与例如 Tomcat 8和9,WebSphere 9和JBoss EAP 7。

随着时间的推移,Java EE在应用程序开发中的作用已经发生了变化。 在Java EE和Spring的早期阶段,创建应用程序以部署到应用程序服务器。 今天,在Spring Boot的帮助下,应用程序以易于云计算和云计算的方式创建,并且嵌入了Servlet容器并且可以轻松更改。 从Spring Framework 5开始,WebFlux应用程序甚至不直接使用Servlet API,而是可以在不是Servlet容器的服务器(如Netty)上运行。

Spring不断创新并不断发展。 除了Spring框架之外,还有其他项目,比如Spring Boot,Spring Security,Spring Data,Spring Cloud,Spring Batch等等。 重要的是要记住,每个项目都有自己的源代码库,问题跟踪器和释放节奏。 有关Spring项目的完整列表,请参阅spring.io/projects。

3. Design Philosophy

当你了解一个框架时,重要的是不仅要知道它的功能,还要知道它遵循的原则。 以下是Spring框架的指导原则:

  • 在每个级别提供选择。 Spring允许您尽可能迟地推迟设计决策。例如,您可以通过配置切换持久性提供程序,而无需更改代码。许多其他基础架构问题和与第三方API的集成也是如此。
  • 适应不同的观点。春天拥抱灵活性,并没有对如何完成事情持有自己的看法。它以不同的视角支持各种应用需求。
  • 保持强大的后向兼容性。 Spring的演化经过精心设计,几乎不会在版本之间发生重大变化。 Spring支持精心挑选的一系列JDK版本和第三方库,以方便维护依赖于Spring的应用程序和库。
  • 关心API设计。 Spring团队花费了大量的精力和时间来制作直观的API,并支持多种版本和多年。
  • 为代码质量设定高标准。 Spring框架强调有意义,最新,准确的Javadoc。它是少数几个可以声明干净的代码结构的程序之一,它们之间没有循环依赖关系。

4. Feedback and Contributions

对于操作方法问题或诊断或调试问题,我们建议使用StackOverflow,并且我们有一个问题页面列出了要使用的建议标签。 如果您确信Spring框架存在问题或者想要推荐一个功能,请使用JIRA问题跟踪器。

如果你有一个解决方案或建议修复,你可以在Github上提交一个pull请求。 但是,请记住,除了最琐碎的问题外,我们希望在问题跟踪器中提交一张票据,在那里进行讨论并留下备案以备将来参考。

有关更多详细信息,请参阅CONTRIBUTING顶级项目页面上的指导。

5. Getting Started

如果您刚刚开始使用Spring,您可能希望通过创建基于Spring Boot的应用程序来开始使用Spring Framework。 Spring Boot提供了一种快速(并且自以为是)的方式来创建一个生产就绪的基于Spring的应用程序。 它基于Spring框架,支持惯例而不是配置,旨在让您尽快启动并运行。

您可以使用start.spring.io生成一个基本项目,或者按照“入门”指南之一,例如构建RESTful Web服务入门。 除了易于消化外,这些指南非常专注于任务,其中大部分都基于Spring Boot。 他们还涵盖了您在解决特定问题时可能需要考虑的Spring组合中的其他项目。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值