【Spring】学习Spring框架那点小事儿

Spring作者:Rod Johnson

Rod Johnson 是一位软件开发人员和作家,他在软件开发领域有着广泛的影响力。他出生于澳大利亚,拥有计算机科学和音乐双学位(能写出有优雅的代码一定有艺术细胞)

Rod Johnson 在 2002 年出版了《Expert One-on-One J2EE Design and Development》一书,提出了轻量级容器的概念,为 Spring 框架的诞生奠定了基础。他在 2003 年创建了 Spring 框架,并成立了 SpringSource 公司,专门开发和维护 Spring 框架。SpringSource 公司在 2009 年被 VMware 公司收购,Rod Johnson 也加入了 VMware 公司,继续领导 Spring 框架的开发工作。

除了 Spring 框架,Rod Johnson 还参与了其他一些开源项目,如 Apache Tomcat、Apache Geronimo 等。他还出版了多本关于软件开发的书籍,如《Expert One-on-One J2EE Design and Development》、《J2EE Development without EJB》等。

Rod Johnson 在软件开发领域提出了许多重要的概念和思想,如轻量级容器、依赖注入、AOP 等,这些概念和思想已经被广泛应用于各种软件开发框架中。他的工作对软件开发领域产生了深远的影响,尤其是在 Spring 框架的开发和推广方面。

总之,Rod Johnson 是一位杰出的软件开发人员和作家,他对软件开发领域做出了重要的贡献,尤其是在 Spring 框架的开发和推广方面。

Spring介绍

Spring 框架是一个开源的 Java 应用程序框架,它提供了全面的解决方案,用于开发企业级 Java 应用程序。Spring 框架的核心是一个轻量级的容器,它提供了依赖注入、AOP、事务管理等功能。Spring 框架还提供了许多其他的模块,如 MVC 框架、JDBC 抽象层、ORM 集成、消息传递、Web 服务等,这些模块可以单独使用,也可以组合使用,以满足不同的需求。

Spring 框架的设计理念是“约定优于配置”,这意味着它提供了一套默认的配置,开发人员可以根据需要进行修改。Spring 框架还提供了灵活的配置方式,包括 XML 配置、Java 配置和基于注解的配置。

Spring 框架的优点包括:

  1. 轻量级:Spring 框架是一个轻量级的容器,它不需要大量的资源来运行。

  2. 灵活性:Spring 框架提供了灵活的配置方式,包括 XML 配置、Java 配置和基于注解的配置。

  3. 模块化:Spring 框架提供了许多模块,这些模块可以单独使用,也可以组合使用,以满足不同的需求。

  4. 易于测试:Spring 框架提供了易于测试的 API,可以方便地进行单元测试和集成测试。

  5. 社区支持:Spring 框架有一个庞大的社区,提供了大量的文档、教程和示例代码,可以帮助开发人员快速上手。

Spring 框架的发展历程

  1. 2002年,Rod Johnson 出版了《Expert One-on-One J2EE Design and Development》一书,提出了轻量级容器的概念,为 Spring 框架的诞生奠定了基础。

  2. 2003年,Spring 框架的第一个版本发布,它是一个轻量级的容器,提供了依赖注入、AOP、事务管理等功能。

  3. 2004年,Spring 1.0 发布,它是一个完整的应用程序框架,提供了更多的功能,如 MVC 框架、JDBC 抽象层、ORM 集成等。

  4. 2005年,Spring 1.2 发布,它增加了对 Java 5 的支持,并引入了注解配置。

  5. 2006年,Spring 2.0 发布,它增加了对 Java 5 的全面支持,并引入了基于注解的配置方式。

  6. 2007年,Spring 2.5 发布,它增加了对 Java 6 的支持,并引入了基于注解的依赖注入和 AOP 配置方式。

  7. 2009年,Spring 3.0 发布,它增加了对 Java 7 的支持,并引入了基于 Java 配置的方式。

  8. 2013年,Spring 4.0 发布,它增加了对 Java 8 的支持,并引入了响应式编程模型。

  9. 2017年,Spring 5.0 发布,它增加了对 Java 9 的支持,并引入了响应式编程模型和 WebFlux 框架。

  10. 2020年,Spring 5.3 发布,它增加了对 Java 15 的支持,并引入了更多的功能和改进。

  11. 2022年,Spring 6.0 发布,它增加了对 Java 17 的支持,并引入了更多的功能和改进。

Spring 框架的网站

  1. Spring 官方网站:Spring 官方网站提供了 Spring 框架的详细文档和示例代码,是学习 Spring 框架的最佳资源。  网址:Spring | Home

  2. Baeldung:Baeldung 是一个专注于 Java 和 Spring 框架的博客,提供了大量的教程和示例代码,适合初学者和有经验的开发人员。网址:baeldung

  3. Spring Boot 官方文档:Spring Boot 是 Spring 框架的一个子项目,提供了快速开发 Spring 应用程序的工具和库。Spring Boot 官方文档提供了详细的文档和示例代码,适合初学者和有经验的开发人员。网址:Spring Boot

  4. Spring 中文社区:Spring 中文社区是一个专注于 Spring 框架的中文社区,提供了大量的教程、文章和示例代码,适合中文读者。网址:Spring 中文网 官网

  5. Spring 教程网:Spring 教程网是一个专注于 Spring 框架的中文网站,提供了大量的教程、文章和示例代码,适合初学者和有经验的开发人员。




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/452278.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

保研复习数据结构记(7)--散列查找(哈希表)

哈希表有什么特点?数据元素的关键字与其存储地址直接相关(通过哈希函数相关),典型的用空间换时间的算法处理冲突的方法?拉链法(链地址法),开放定址法,再散列法什么是查找…

2024年G3锅炉水处理证模拟考试题库及G3锅炉水处理理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年G3锅炉水处理证模拟考试题库及G3锅炉水处理理论考试试题是由安全生产模拟考试一点通提供,G3锅炉水处理证模拟考试题库是根据G3锅炉水处理最新版教材,G3锅炉水处理大纲整理而成&#xff0…

【YOLOv9】训练模型权重 YOLOv9.pt 重新参数化轻量转为 YOLOv9-converted.pt

【YOLOv9】训练模型权重 YOLOv9.pt 重新参数化轻量转为 YOLOv9-converted.pt 1. 模型权重准备2. 模型重新参数化2.1 文件准备2.2 参数修改2.3 重新参数化过程 3. 重新参数化后模型推理3.1 推理超参数配置3.2 模型推理及对比 4. onnx 模型导出(补充内容)4…

在WSL2中安装多个Ubuntu教程

文章目录 前言一、前期准备1、WSL安装2、Docker安装 二、安装第二个Ubuntu系统1.切换为WSL22.获取Ubuntu16.04的tar文件从容器中导出tar 3. 将tar文件导入WSL4. 设置默认用户 总结 前言 适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Wind…

指针篇章-(5)+最终思维导图

sizeof和strlen的对比 sizeof不是函数 侧面证明sizeof不是函数 如果是函数 应该需要有括号 不能落下来 strlen 只针对字符串 包含头文件 string.h 并且这个是个函数 随机数值 sizeof里面有表达式的话 表达式里面是不参与计算的 下面的s求出的是4 就是因为是不参与计算的 不…

03_渲染进程调用node

我们先创建一个文件夹及文件,并且在 html 引入 JS 文件。 在 render.js 里面输入以下内容: let fs require(fs) // let是在当前代码块有效console.log(fs) // 将fs对象的内容打印到控制台供调试和查看 fs 模块:对文件系统进行操作&#xf…

七月论文审稿GPT第3.1版和第3.2版:通过paper-review数据集分别微调Mistral、gemma

前言 我司第二项目组一直在迭代论文审稿GPT(对应的第二项目组成员除我之外,包括:阿荀、阿李、鸿飞、文弱等人),比如 七月论文审稿GPT第1版:通过3万多篇paper和10多万的review数据微调RWKV七月论文审稿GPT第2版:用一万…

使用Flask快速搭建轻量级Web应用【第127篇—Flask】

使用Flask快速搭建轻量级Web应用 在Web开发领域,选择适合项目需求的框架至关重要。Flask,一个轻量级的Python Web框架,以其简洁、灵活和易扩展的特性而备受开发者青睐。本文将介绍如何使用Flask迅速搭建一个轻量级的Web应用,并通过…

FreeRTOS学习笔记-基于stm32(5)列表和列表项

一、列表与列表项简介 列表是FreeRTOS中的一种数据结构,类似双向循环链表。用来跟踪FreeRTOS中的任务。列表项就是存放在列表中的项目。 二、列表 列表结构体: typedef struct xLIST {listFIRST_LIST_INTEGRITY_CHECK_VALUE //校验值c…

Unity 显示MeshRenderer的渲染层级

Unity 显示MeshRenderer的渲染层级 前言源码MeshRendererInspectorSkinnedMeshRendererInspector 参考 前言 Mesh Renderer和Skinned Mesh Renderer组件默认不显示Order,找了个工具显示一下。 源码 下面两个代码放入Editor文件夹中 MeshRendererInspector Me…

ChatGPT Prompt 的原理总结

ChatGPT Prompt 的原理总结 ChatGPT Prompt 是 OpenAI 开发的大型语言模型 ChatGPT 的一种使用方式。通过 Prompt,用户可以引导 ChatGPT 生成特定内容,例如回答问题、写故事、写代码等等。 Prompt 的原理 Prompt 本质上是一段文本,它告诉 C…

人工智能在增强数据安全方面的作用

近年来,人工智能(AI)的力量已被证明是无与伦比的。它不再是我们想象的主题。人工智能已经成为现实,并且越来越清楚地表明它可以让世界变得更美好。但人工智能能帮助我们增强数据安全吗? 由于技术的日益普及&#xff0…

Java JUC 笔记(2)

Java JUC 笔记(2) 锁框架 JDK5以后增加了Lock接口用来实现锁功能,其提供了与synchronized类似的同步功能,但是在使用时手动的获取和释放锁 Lock和Condition锁 这里的锁与synchronized锁不太一样,我们可以认为是Loc…

递归与递推

递归 92. 递归实现指数型枚举 - AcWing题库 import java.util.*;public class Main{static int N 16, n;static int[] st new int[N];//st[x] 等于0表示还没考虑到它,等于1表示选它,等于2表示不选它public static void dfs(int u){if(u > n){for…

蓝桥·算法双周赛|第七场分级赛——小白入门赛

&#x1f525;博客介绍&#xff1a; 27dCnc &#x1f3a5;系列专栏&#xff1a; <<数据结构与算法>> << 算法入门>> << C项目>> &#x1f3a5; 当前专栏: << 算法入门>> 专题 : 数据结构帮助小白快速入门算法 &#x1f4…

蓝鲸作业平台升级openssh执行方案分享

本文来自腾讯蓝鲸智云社区用户&#xff1a;AK47 蓝鲸的运维系统在我们单位使用已经快四个年头了&#xff0c;从刚开始的5到现在最新的7.1都有部署、测试、验证和使用。在实际的使用过程中&#xff0c;给我们运维提供了非常大的帮助。其中有一个场景分享给大家。这个场景是关于o…

NVidia NX 中 ROS serial软件包的安装

自己装的ROS是noetic版本&#xff0c;受限于网络&#xff0c;直接用命令安装串口包不行。于是手动安装了一次。 1 下载源码 git clone https://github.com/wjwwood/serial.git 或者直接在浏览器里面输入 https://github.com/wjwwood/serial.git 2 解压 然后在serial&#xf…

LeetCode108题:将有序数组转换为二叉搜索树(python3)

一个容易想到的思路&#xff1a;使用 nums 中最靠近中心的位置作为整棵 BST 的根节点&#xff0c;确保左右子树节点数量平衡。随后递归构造 nums 中下标范围为 [0,mid−1]作为左子树&#xff0c;递归构造 nums 中下标范围为 [mid1,n−1]作为右子树。 # Definition for a binar…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的田间杂草检测系统(深度学习模型+UI界面+Python代码+训练数据集)

摘要&#xff1a;开发用于田间杂草识别的系统对提高农业运营效率和提升作物产出至关重要。本篇文章详尽阐述了如何应用深度学习技术开发一个用于田间杂草识别的系统&#xff0c;并附上了完备的代码实现。该系统基于先进的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5…

保护数字前沿:有效的威胁暴露管理

人工智能技术正在从根本上改变网络安全领域的方向。仅 2023 年&#xff0c;全球企业预计将在人工智能上花费 1027.8 亿美元&#xff0c;以阻止网络安全威胁。 人工智能 (AI)在增强网络安全措施方面发挥着关键作用&#xff0c;因为它能够快速分析大量数据并识别可能表明潜在威胁…