zoukankan      html  css  js  c++  java
  • [翻译] Spring Framework Overview

    Spring 框架让创建企业应用变得非常容易,这个框架几乎能提供或者集成企业应用需要的一切组件。Spring 不仅仅支持 Java 语言,还支持基于 JVM 的 Groovy和 Kotlin 作为JVM上的替代语言。从Spring Framework 5.1开始,Spring要求JDK 8+ (Java SE 8+),并提供对JDK 11 LTS的开箱即用支持。建议使用Java SE 8 update 60作为Java 8的最小补丁版本,但通常建议使用最近的补丁版本。

    Spring 是一个开源框架,其活跃的开源社区是其保持强大生命力的重要原因。

    Spring 的含义

    Spring 这个词在不同的上线文中有不同的含义,最初,当我们说 Spring 时是指 Spring Framework 这个框架本身,但是随着时间的推移,基于 Spring 的创建越来阅读,Spring 已经是一个大家族。此时,当我们再说起 Spring 时,可能就是指整个 Spring 项目集。

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

    Spring Framework 5.x 支持 JDK9 的模块——JDK 9’s module path ("Jigsaw")。

    Spring 发展历史

    Spring 在 2003 年作为对早期 J2EE 规范复杂性的响应而出现。虽然有些人认为 Java EE 和 Spring 是竞争的,但实际上,Spring是Java EE的补充。

    Spring 集成了以下的 JSR 规范。

    • Servlet API (JSR 340)
    • WebSocket API (JSR 356)
    • Concurrency Utilities (JSR 236)
    • JSON绑定API (JSR 367)
    • Bean校验(JSR 303)
    • JPA (JSR 338)
    • JMS (JSR 914)

    以及用于事务协调的JTA/JCA设置(如有必要)。

    Spring 框架还支持依赖注入(JSR 330)和公共注释(JSR 250)规范,应用程序开发人员可以选择使用这些规范,而不是使用 Spring 框架提供的特定于 Spring 的机制

    Spring Framework 5.0 版本需要 Java EE 7(e.g. Servlet 3.1+, JPA 2.1+) 作为最低支持,同时也支持 Java EE 8 level(e.g. Servlet 4.0, JSON Binding API),这些特性能让 Spring 和高版本的容器 Tomcat 8和9、WebSphere 9和JBoss EAP 7完全兼容。

    随着时间的推移,Java EE 在应用程序开发中的作用已经演变。在 Java EE 和 Spring 的早期,创建应用程序是为了部署到应用服务器上。如今,在 Spring Boot的帮助下,应用程序以一种对 devops 和云友好的方式创建,Servlet 容器嵌入其中,更改非常简单。在 Spring Framework 5 中,WebFlux 应用程序甚至不直接使用 Servlet API,可以运行在非 Servlet 容器的服务器(如Netty)上。

    Spring 继续创新和发展。除了 Spring 框架,还有其他项目,如 Spring Boot、Spring Security、Spring Data、Spring Cloud、Spring Batch等等。

    Spring 的设计哲学

    在学习框架时,重要的是不仅要知道它做什么,还要知道它遵循什么原则。以下是 Spring 框架的设计原则:

    • 在每个层级提供选择,Spring 允许您尽可能晚地推迟设计决策。例如,您可以通过配置切换持久性提供程序,而无需更改代码。对于许多其他基础设施问题以及与第三方api的集成也是如此。
    • 容纳不同的观点。Spring拥抱灵活性,对事情应该如何做并不固执己见。它以不同的视角支持广泛的应用需求。
    • 保持强大的向后兼容性。Spring的发展经过了精心的管理,使得版本之间很少有突破性的变化。Spring支持精心选择的JDK版本和第三方库,以促进依赖于Spring的应用程序和库的维护。
    • 关注API设计。Spring团队花了大量的心思和时间来制作直观的api,这些api可以跨越多个版本和很多年。
    • 为代码质量设定高标准。Spring框架非常强调有意义的、当前的和准确的javadoc。它是少数几个可以声明干净的代码结构,且包之间没有循环依赖关系的项目之一。
    人生的主旋律其实是苦难,快乐才是稀缺资源。在困难中寻找快乐,才显得珍贵~
  • 相关阅读:
    sql2slack alash3al 开源的又个轻量级工具
    pgspider fetchq 扩展docker镜像
    godns 集成coredns 的demo
    godns 简单dnsmasq 的dns 替换方案
    aviary.sh 一个基于bash的分布式配置管理工具
    使用coredns 的template plugin实现一个xip 服务
    nginx 代理 coredns dns 服务
    基于nginx proxy dns server
    几个不错的geodns server
    spring boot rest api 最好添加servlet.context-path
  • 原文地址:https://www.cnblogs.com/54chensongxia/p/14373060.html
Copyright © 2011-2022 走看看