Spring技术——介绍、初识

news2024/11/25 12:52:50

从这篇博客正式开始学习 Spring 。


一、整个Spring技术学习的介绍

首先先对 Spring 做一个简单的认识,并从以下3个方面了解学习Spring 技术的意义:

(1)为什么要学习 Spring 技术?

1、它的市场的占有率很高,且是Java的开发界的" 宝物 "。现在的 Spring 技术是企业级开发的一个必备的技能、首选的技术。

2、Spring 技术是 JavaEE 开发必备技能,企业开发技术选型命中率>90% 。还有10%是早期的系统在维护。

3、Spring 技术主要解决了哪些问题?

  • 简化开发,降低企业级开发的复杂性。(因为目前的软件功能越来越多和复杂)
  • 框架整合,高效整合其他技术,提高企业级应用开发与运行效率。

(现在的企业级开发:大部分都是使用一些现成的技术组合在一起使用)

(2)学什么东西?

Spring 提供了两个大的核心技术—— IOC AOP

  • 简化开发

1、IOC

2、AOP

3、基于 AOP 的思想,又衍生出一个东西——事务处理

 它是Sping技术的一个亮点,它使事务编写更加高效,更简单而且更加功能更加强大。

  • 框架整合

它能够整合市面上现在主流的所有框架。

1、MyBatis

2、MyBatis-Plus

3、Struts (早年的)

4、Struts2

5、Hibernate

(3)如何去学习?
  • 首先先去学习 Spring 框架的整体的设计思想。基于思想,再去学习对应的基础操作。
  • 学习基础操作,思考操作与思想间的联系
  • 学习案例,熟练应用操作的同时,并在操作中快速的去体会思想的应用。来体会 Spring 框架的整体上为开发带来了什么便利。

二、初识 Spring

(1)了解 Spring 家族。
  • 官网:spring.io

在网页中很简洁,可以看到一个东西:Spring 技术可以做些啥?

比如说:

1、Web apps (可以做Web的开发)

2、Microservices (微服务)

3、Cloud (分布式系统开发)

以上这三点就已经占据 Java EE 的市场主流开发的九成。


  •  Spring发展到今天已经形成了一种开发的生态圈,Spring 提供了若干个项目,每个项目用于完成特定的功能。

1、Spring Framework 。简单看英文就是框架,这是 Spring 所有技术中的第一门技术。最早出现的技术也是它。它在" 全家桶 " 的地位非常高,其它所有的技术都是依赖它执行的。

(是一个底层的框架、设计型的框架,所有的东西都能放在它上面运行)

2、Spring Boot 。能够简化开发。使用这个技术可以在简化开发的基础上去加速开发。让我们原先的 Spring 开发变得更加的简单,书写更少的东西。

3、Spring cloud 。用在分布式开发的相关技术。


这上面三个技术基本上能够应对我们企业级开发的所有的主流开发工作了,当然其它 "全家桶" 里的其它技术也可以配合开发去使用去丰富解决方案。

4、Spring 并不是一个单技术,而是一个大家族。(其中有很多个技术...)

(2)了解 Spring 发展史。

1、Spring 1.0 是使用纯配置的形式进行开发的。

2、Spring 2.0 为了加速开发引入注解的功能。

3、Spring 3.0 已经演化出可以不写配置的开发模式。这样大幅度提高开发效率。

这就是后面学习的注解,注解是对配置格式的一个变形。而底层还是配置,但是学配置有利于我们学习注解、学注解有利于提高开发的效率。

4、Spring 4.0 在4.0的版本当中,Spring 紧跟JDK的版本升级,对个别的 API 进行了调整,所有 4.0和3.0 API 有一些变化。

5、Spring 5.0 全面支持 JDK 8 ,告诉我们要做 Spring 开发,JDK 版本必须是8以上。

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

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

相关文章

webpack 压缩图片

压缩前: 压缩后: 压缩后基本上是压缩了70-80%左右 1.依赖版本及配置 "imagemin-webpack-plugin": "^2.4.2", "imagemin-mozjpeg": "^7.0.0", "imagemin-pngquant": "^5.0.1", "webpa…

ClickHouse安装与下载22.3.2.2

ClickHouse安装与下载 目录 1. ClickHouse简介 1.1 ClickHouse优点: 1.2 ClickHouse缺点: 1.3 ClickHouse引擎: 1.3.1 数据库引擎 1.3.2 表引擎 2. ClickHouse下载安装 2.1 ClickHouse下载安装 2.2 ClickHouse使用 1. ClickHouse简…

五要素便携式气象站

TH-BQX5自然灾害,如暴雨、洪水、飓风等,对于人类生活的影响和威胁始终不可忽视。在应对自然灾害的过程中,提高应急响应和预警能力成为了一项迫切而重要的任务。近年来,五要素便携式气象站因其便捷、精准的特点,在自然灾…

大数据技术与实践学习

大数据技术与实践期末复习 生态系统 每一张图片都值得思考,理清楚到底是什么! 1.结构化数据(数据库里面的):Sqoop(效率比较慢/隔一段时间抽取一次) 2.半结构化或者非结构化数据:F…

Coursera耶鲁大学金融课程:Financial Markets 笔记Week 02

Financial Markets 本文是学习 https://www.coursera.org/learn/financial-markets-global这门课的学习笔记 这门课的老师是耶鲁大学的Robert Shiller https://en.wikipedia.org/wiki/Robert_J._Shiller Robert James Shiller (born March 29, 1946)[4] is an American econom…

细说MCU通过定时器输出PWM波形的实现方法

目录 一、硬件及工程 二、建立工程 三、代码修改 1、重定义回调函数 2、启动定时器中断 四、下载运行 一、硬件及工程 文章依赖的硬件及工程配置参考本文作者的其他文章:细说ARM MCU的串口接收数据的实现过程-CSDN博客 细说ARM MCU的串口接收数据的实现过程-C…

Matlab基础语法:变量和数据类型,基本运算,矩阵和向量,常用函数,脚本文件

目录 一、变量和数据类型 二、基本运算 三、矩阵和向量 四、常用函数 五、脚本文件 六、总结 一、变量和数据类型 Matlab 支持多种数据类型,包括数值类型、字符类型和逻辑类型。掌握这些基本的变量和数据类型,是我们进行数学建模和计算的基础。 数…

IT入门知识第三部分《软件开发》(3/10)

目录 IT入门知识大纲第三部分《软件开发》 1. 软件开发生命周期(SDLC) 1.1 需求分析 1.2 软件设计 1.3 程序编码 1.4 软件测试 1.5 项目部署 1.6 运行维护 2. 软件开发方法论 2.1 瀑布模型 2.2 敏捷开发 2.2.1 Scrum 2.2.2 Kanban 2.3 Dev…

ip地址b类和c类的区别是什么?体现在哪里

在数字化时代的浪潮中,IP地址扮演着不可或缺的角色。它们不仅是设备在网络中的唯一标识,更是网络连接和信息传输的基石。然而,对于非专业人士来说,IP地址的复杂分类可能会显得有些晦涩难懂。今天,我们就来深入探索IP地…

C#语言中的Async/await最佳实践

自从 C# 5 中引入 async/await 以来,开发人员之间一直对 async/await 关键字的最佳实践以及幕后实际发生的事情感到困惑。 让我们先从基础开始。 在 Windows 窗体的早期,UI 延迟与 I/O 操作所花费的时间成正比。这意味着,如果您尝试将数据保…

【ONE·基础算法 || 记忆化搜索】

总言 主要内容:编程题举例,熟悉理解记忆化搜索类题型(对比递归、动态规划理解运用)。             文章目录 总言1、记忆化搜索1.1、基本介绍1.2、细节理解(记忆搜索化、递归、动态规划……) 2、斐…

如何通过小猪APP分发轻松实现Web封装APP

你有没有想过将你的网站或者Web应用变成一个真正的APP?这听起来可能有点复杂,但其实在今天的技术环境下,这已经变得非常简单了。特别是有了像小猪APP分发这样的工具,你可以轻松地将你的Web应用封装成一个APP。 为什么要将Web应用封…

Java学习55-super关键字的使用

1.举例1:子类继承父类以后,对父类方法进行了重写,那么在子类中,是否还可以对父类中被重写的方法进行调用? 可以! 举例2:子类继承父类以后,发现子类和父类中定义了同名的属性&#xf…

示例:WPF中在没有MouseDoubleClick的控件中如何识别双击

一、目的&#xff1a;由于MouseDoubleClick控件是在Control中实现&#xff0c;那么在底层控件如Grid中想要类似功能如何实现&#xff0c;这里通过MouseDown的事MouseButtonEventArgs参数去实现 二、实现 定义Grid并注册Grid的MouseDown事件 <Grid Background"Transpa…

Android如何简单快速实现RecycleView的拖动重排序功能

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 要实现这个拖动重排序功能&#xff0c;主要是用到了RecycleView的ItemTouchHelper类 首先是定义一个接口 interface ItemTouchHelperAdapter …

哈尔滨等保测评如何办理

随着人们对网络安全的认识日益加深&#xff0c;越来越多的企业和组织开始重视网络安全等级保护工作。在哈尔滨地区&#xff0c;为了保证网络的安全&#xff0c;等保测评是保障网络安全的重要一环。本文对哈尔滨等保测评的流程、测评具体内容以及注意事项进行了详细地阐述。 一…

0X0-基于Sklearn的机器学习入门:聚类(上)

本节及后续章节将介绍深度学习中的几种聚类算法&#xff0c;所选方法都在Sklearn库中聚类模块有具体实现。本节为上篇&#xff0c;将介绍几种相对基础的聚类算法&#xff0c;包括K-均值算法和均值漂移算法。 目录 X.1 聚类概述 X.1.1 聚类的种类 X.1.2 Sklearn聚类子模块 …

纯css实现炫光流彩Button

正文 先看效果 实现思路 不仔细看的话还以为只需要通过animation与text-shadow、box-shadow、background-image就可以实现 仔细看的话会发现&#xff0c;其实按钮的颜色不是简单的渐变&#xff0c;而是从一侧颜色开始变化&#xff0c;渐渐的颜色蔓延到另一侧&#xff0c;之后…

【机器学习】第10章 聚类算法

一、概念 1.聚类 &#xff08;1&#xff09;是无监督学习&#xff0c;其实无监督学习就是无中生有&#xff0c;不给你标准答案&#xff08;标签啊啥的&#xff09;&#xff0c;然后让你自己来。 &#xff08;2&#xff09;聚类就是这样&#xff0c;让机器自己根据相似特征把相…

WACV2024 分割相关论文摘要小结速览67篇

WACV2024 分割相关论文摘要小结速览 Paper1 Robust Source-Free Domain Adaptation for Fundus Image Segmentation 摘要小结: 无监督域自适应&#xff08;UDA&#xff09;是一种学习技术&#xff0c;它将源域中从标记训练数据学习到的知识转移到只有未标记数据的目标域。这对…