Spring框架概述

从Spring Framework 5.1开始,Spring需要JDK 8+(Java SE 8+),并提供对JDK 11 LTS的现成支持。建议将Java SE 8更新60作为Java 8的最低修补程序版本,但通常建议使用最新的修补程序版本。

Spring框架分为多个模块。应用程序可以选择所需的模块。这些模块的核心是核心容器(core container),包括配置模型(configuration model)和依赖项注入机制(dependency injection mechanism)。除此之外,Spring框架还为不同的应用程序体系结构提供了基础支持,包括消息传递,事务性数据和持久话以及Web。它还包括基于Servlet的Spring MVC Web框架,以及Spring WebFlux反应式Web框架。

因为早期J2EE规范的复杂性,Spring于2003年应运而生 。事实上Spring是Java EE的补充。Spring编程模型不包含Java EE平台规范。相反,它与Java EE中精心选择的各个规范集成在一起:

  • Servlet API(JSR 340)
  • WebSocket API(JSR 356)
  • 并发实用程序(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开始,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,可以通过对devops和云友好的方式创建应用程序,并嵌入Servlet容器并对其进行微不足道的更改。从Spring Framework 5开始,WebFlux应用程序甚至不直接使用Servlet API,并且可以在非Servlet容器的服务器(例如Netty)上运行。

Spring框架的指导原则:

  • 提供每个级别的选择。Spring使您可以尽可能推迟设计决策。例如,您可以在不更改代码的情况下通过配置切换持久性提供程序。对于许多其他基础架构问题以及与第三方API的集成也是如此。
  • 适应不同的观点。Spring拥有灵活性,并且对如何完成工作一无所知。它从不同的角度支持广泛的应用程序需求。
  • 保持强大的向后兼容性。对Spring的演变进行了精心管理,以使各个版本之间几乎没有重大更改。Spring支持精心选择的JDK版本和第三方库,以方便维护依赖于Spring的应用程序和库。
  • 关心API设计。Spring团队投入了大量的思想和时间来制作直观的,且在许多版本和很多年中都适用的API。
  • 为代码质量设置高标准。Spring框架非常强调有意义,最新和准确的javadoc。它是极少数可以声明干净代码结构且程序包之间没有循环依赖关系的项目之一。

可以使用 网站 快速生成一个基本项目

20191224 Spring官方文档(Overview)的更多相关文章

  1. 20191224 Spring官方文档(Core 1.1-1.4)

    1. IoC容器 1.1.Spring IoC容器和Bean简介 org.springframework.beans和org.springframework.context包是Spring框架的IoC ...

  2. 20191224 Spring官方文档(启动)

    再学Spring 之前看过Spring教学视频,看过<Spring5高级编程>,但是对于Spring始终还是感觉差了一点,应该是底层没有学好,这次再学Spring,就是要将Spring底层 ...

  3. spring官方文档中文版

    转 http://blog.csdn.net/tangtong1/article/details/51326887 spring官方文档:http://docs.spring.io/spring/do ...

  4. 转 spring官方文档中文版

    转 http://blog.csdn.net/tangtong1/article/details/51326887另附码云地址 https://gitee.com/free/spring-framew ...

  5. spring 官方文档-片段学习——webflux-ann-controller

    spring 官方文档-片段学习总结 片段所在连接:https://docs.spring.io/spring/docs/5.0.4.RELEASE/spring-framework-referenc ...

  6. Spring官方文档下载

    Spring框架是目前最流行的java web开发框架,很多时候,我们需要去查看spring的官方文档,这里就简单介绍下如何下载其官方文档. 1.搜索到spring 官网并进入 2.点击DOCS 3. ...

  7. Spring官方文档

    官网里还真不好找,编译的时候pdf版还没编译成功,这里记录下 http://docs.spring.io/spring/

  8. spring 官方文档

    英文 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ 翻译(1-6章) http:// ...

  9. Spring 官方文档笔记---Bean

    In Spring, the objects that form the backbone of your application and that are managed by the Spring ...

随机推荐

  1. Java基础——集合框架(待整理)

    ArrayList 和 和 Vector 的区别 从代码的最终的操作形式上可以发现,代码的输出结果与之前是一样的,而且没有区别,但是两者的区别还在于其内部的组成上. No. 区别点 Vector Ve ...

  2. HTML的状态码

    HTML状态码的相关知识 ㈠:含义 HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码. 也就是当浏览者访问一个网页时,浏览者的浏览器会向 ...

  3. C# TextBox 拖入数据 为路径

    1. 通过DragEnter事件获得被拖入窗口的“信息”(可以是若干文件,一些文字等等),在DragDrop事件中对“信息”进行解析. 2.接受拖放控件的AllowDrop属性必须设置成true; 3 ...

  4. javascript中的原型和原型链(四)

    new运算符工作原理

  5. linux下简单好用的端口映射转发工具rinetd

    linux下简单好用的工具rinetd,实现端口映射/转发/重定向官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/r ...

  6. 剑指offer:关于复制构造函数

    1:首先参看代码: #include "stdafx.h" #include "iostream" using namespace std; class A { ...

  7. 使用oracle数据库的开发流程

  8. LeetCode----两两交换链表中的节点

    给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 说明: 你的算法只能使用常数的 ...

  9. 利用Zookeeper实现分布式锁

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  10. tensorflow实现迁移学习

    此例程出自<TensorFlow实战Google深度学习框架>6.5.2小节 卷积神经网络迁移学习. 数据集来自http://download.tensorflow.org/example ...