(一)Spring教程——Spring框架简介

        Spring框架是Java平台的一个开源的全栈应用程序框架,一般被称作Spring。Spring框架的核心特性是依赖注入(DI)与面向切面的编程(AOP),Spring可以看成是一个控制反转的容器。

        Spring框架由20多个模块组成。这些模块可以分成几个大的层次:核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具和测试等。开发人员可以根据需要选择相应模块进行使用,模块化的结构很容易与其他框架一起集成使用。

        Spring框架于2004年发布,至今已经发布了6个版本,各个版本的主要特性如下所示:

1.Spring 1

        Spring Framework 1.0 final只包含一个完整的项目,所有的功能都集成在一个项目中,包含了核心的IoC、AOP,也包含了诸多功能,例如JDBC、Mail、ORM、事务、定时任务、Spring MVC等。而Spring 1版本已经支持很多第三方的框架,例如Hibernate、iBatis(MyBatis的前身)、模板引擎等。

2.Spring 2

        Spring 2.0新增的特性包括:具有可扩展的XML配置功能(简化XML配置)、支持基于注解的配置、支持Java5、支持额外的Ioc容器扩展点、支持动态语言(Bean Shell)。

        Spring 2.5新增的特性包括:支持Java 6和Java EE 5、全面支持注释依赖注入、支持自动检测和兼容组件的类路径。Spring 2.5框架的所有jar包都是兼容OSGi的,可以简化OSGi环境下对Spring 2.5的使用。

3.Spring 3

        Spring 3.0增加了许多重要特性,如重组模块系统、支持Spring表达式语言、基于Java Bean配置、支持嵌入式数据库模型验证/REST支持和Java EE 6的支持。

4.Spring 4

        Spring 4.0是Spring框架的一大进步,它包含了对Java 8的全面支持,包括支持Lambda表达式的使用,拥有更高的第三方库依赖性,支持@Scheduled和@PropertySource重复注解,也支持Optional语法。

        Spring 4的核心容器也增加了对泛型的依赖注入、Map的依赖注入、Lazy延迟依赖的注入、List/数组注入和Condition条件注解注入的支持。

        Spring 4对CGLib动态代理类进行了增强,支持使用Groovy DSL来进行Bean定义配置,并且为了方便Restful开发,引入了RestController注解器注解,同时还增加了一个AsyncRestTemplate,以此来支持Rest客户端的异步无阻塞请求,Spring 4也增加了对WebSocket和泛型的支持。

5.Spring 5

        Spring 5.0重点加强了对函数式编程、响应式程序设计的支持,是一个非常大的进步。Spring 5.0对运行环境的要求是Java 8以上。Spring 5.0开始支持Java EE 7。Spring 5.0重构了源码,部分功能可以使用Lambda表达式实现,新增了Spring Web Flux框架(一个高性能、响应式、异步的Web框架)、升级了Spring MVC、增加了对最新的API(Jackson等)和Kotlin的支持等。

6.Spring 6

        2022年11月发布的Spring 6.0对Spring核心框架做了大量修订。运行Spring 6的最低环境要求是JDK 17。Spring 6主要进行了如下升级:将javax命名空间迁移到了Jakarta命名空间,支持Jakarta EE 9+、最新的Web容器(如Tomcat 10.1)和最新的持久层框架(如Hibernate ORM 6.1);提供了基于@HttpExchange服务接口的HTTP接口客户端;移除了部分过时的Servlet组件,例如Commons FileUpload、FreeMarker JSP等。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java spring boot动态数据库获得配置信息连接多数据源(数据库)

数据库 数据库文件和代码文件 https://download.csdn.net/download/qq_34631220/89304173 链接:https://pan.baidu.com/s/1xoh6xiSRx4nW_gKvR1QPjg 提取码:i7b7 –来自百度网盘超级会员V5的分享 文章位置 添加链接描述 说明:事务只能单库…

学习软考----数据库系统工程师32

NoSQL非关系型数据库 CAP理论和BASE特性 关系型数据库主要使用ACID理论 各种NoSQL数据 库的分类与特点

中国海洋大学整体来说值得报考吗?中国海洋大学考情分析。

中国海洋大学(Ocean University of China),简称中国海大。位于中国青岛,是中华人民共和国教育部直属的综合性重点大学,国家“双一流”、“985工程”和“211工程”重点建设高校之一,入选“2011计划”、“111…

RT-Thread事件集

文章目录 前言一、RT-Thread事件集的概念二、事件集函数的使用1.创建事件集函数2.事件集发送函数3.事件集接收函数4.事件集删除函数 三、事件集使用例程总结 前言 本篇文章将给大家讲解RT-Thread中事件集的概念,了解什么是事件集及事件集的函数使用方法。 一、RT-…

Lesson5--二叉树(超详细版)

【本节目标】 1. 树概念及结构 2. 二叉树概念及结构 3. 二叉树顺序结构及实现 4. 二叉树链式结构及实现 1.树概念及结构 1.1树的概念 树是一种 非线性(线性结构就是顺序表链表) 的数据结构,它是由 n ( n>0 )个…

Linux 第三十章

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

ms17-010(永恒之蓝)

1.漏洞介绍: 永恒之蓝(ms17-010)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病…

this.$refs 调用子组件的方法注意需要在子组件被创建之后

在Vue 2中&#xff0c;使用this.$refs来访问子组件通常需要满足以下几个条件&#xff1a; 子组件需要有一个唯一的ref属性。例如&#xff0c;<child-component ref"child" />。 父组件需要在适当的时机&#xff08;例如在mounted钩子函数中&#xff09;访问th…

国际护士节庆祝活动向媒体投稿有方法很轻松

作为一名医院职工,我肩负着医院对外信息宣传的重任。在国际护士节这个特殊的日子里,我们医院举办了一系列庆祝活动,以表彰护士们的辛勤付出和无私奉献。然而,在将这些活动信息投稿至媒体的过程中,我最初却遭遇了诸多挑战。 起初,我采用传统的邮箱投稿方式,将精心撰写的稿件发送…

RabbitMq出现Not management user问题解决

在RabbitMq登录的时候突然弹出如下图&#xff1a; 提示“当前用户不是管理员用户”进入mq控制命令台下&#xff1a; windows版本在mq安装路径下的sbin下进入cmd弹出框&#xff1b; Linux版本没有测试&#xff1b; 输入以下命令&#xff1a; rabbitmqctl list_users 查询当…

栈与队列OJ题【括号适配问题】【用队列实现栈】【用栈实现队列】【设计循环队列】

一.有效的括号 ​​​OJ链接 这一道题我们就可以用栈来解决&#xff1a; 不了解栈的可以看我的上一篇博客。 typedef char STDataType; //用数组来实现栈 typedef struct stack {STDataType* a;int capacity;int top; }ST; void STInit(ST* pst) {assert(pst);pst->a NU…

内网环境安装使用DBeaver使用第一天

之前一直使用navicat&#xff0c;现在出于某种原因不让使用了&#xff0c;于是上手了这个工具&#xff0c;说实话&#xff0c;真的&#xff0c;但是必须要用。 首先安装的时候&#xff0c;必须要选择MySQL驱动&#xff0c;如果外网直接选择以后就可以下载了&#xff0c;内网需…

字符串函数(一):strcpy(拷贝),strcat(追加),strcmp(比较),及strncpy,strncat,strncmp

字符串函数 一.strcpy&#xff08;字符串拷贝&#xff09;1.函数使用2.模拟实现 二.strcat&#xff08;字符串追加&#xff09;1.函数使用2.模拟实现 三.strcmp&#xff08;字符串比较&#xff09;1.函数使用2.模拟实现 四.strncpy1.函数使用2.模拟实现 五.strncat1.函数使用2.…

采油厂职工向媒体投稿的好方法找到了

作为一名采油厂的职工,我深知在媒体上定期投稿的重要性。这不仅是我们展示工作成果、传播企业文化的重要途径,更是上级考核我们工作表现的一项指标。然而,在投稿的过程中,我经历了不少心酸与困扰。 起初,我采用传统的邮箱投稿方式。每天,我都会花费大量时间在网络上搜索合适的媒…

Linux----正则表达式练习题题解

1、 显示/etc/rc.d/rc.sysinit文件中以不区分大小的h开头的行&#xff1b; [rootopenEuler ~]# grep -E "^(H|h)" /etc/passwd halt:x:7:0:halt:/sbin:/sbin/halt 注&#xff1a;当然也可以使用grep -i来实现&#xff0c;这里我换了一个文件&#xff08;/etc/passw…

基于SPWM控制策略的二极管钳位型的五电平逆变器simulink仿真

本人搭建了二极管钳位型五电平逆变器simulink仿真模型&#xff0c;SPWM采用层叠&#xff0c;输出线电压9电平&#xff0c;相电 压5电平&#xff0c;滤波后对称三相电压、电流&#xff0c;THD<5%&#xff0c;效果十分优越&#xff0c;适合新手学习使用。 模型获取链接&…

使用apache和htaccess对目录访问设置密码保护配置教程

对目录设置密码保护配置说明 我们有时候访问某些网站的时候&#xff0c;要求输入用户名和密码才能访问。这是为了保护隐私&#xff0c;只让经过许可的人访问。 在本教程中主要介绍两种方法&#xff0c;一种是通过apache httpd.conf配置文件对管理后台目录设置密码保护&#xff…

252 基于MATLAB的自适应差分阈值法检测心电信号的QRS波

基于MATLAB的自适应差分阈值法检测心电信号的QRS波&#xff0c;QRS波群反映左、右心室除极电位和时间的变化&#xff0c;第一个向下的波为Q波&#xff0c;向上的波为R波&#xff0c;接着向下的波是S波。通过GUI进行数据处理&#xff0c;展示心率和QRS。程序已调通&#xff0c;可…

Mysql数据类型设计思考

一、Mysql数据类型设计规范 1.1 选择更小的数据类型 一般情况下&#xff0c;在满足存储要求的基础上&#xff0c;尽量选择小的存储类型。例如&#xff1a;存储0~200&#xff0c;tinyint和bigint都可以存储&#xff0c;那么选择tinyint。原因&#xff1a;越小的数据类型运算速…

迄今为止最全- 前端性能优化

简介 当我们说前端性能优化的时候&#xff0c;指的可能是不同场景的性能优化。前端涉及性能优化的场景主要有&#xff1a; 项目构建性能优化 页面性能优化 加载时性能优化 运行时性能优化 构建性能主要指构建速度&#xff0c;优化方法和打包工具直接相关&#xff0c;主要…