Spring技术——介绍、初识

从这篇博客正式开始学习 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以上。

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

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

相关文章

【AI工具】探索创意与效率:xs.tools 网站介绍

在这个数字化时代,工具的创新和效率对我们的日常工作和生活至关重要。"xs.tools" 网站是一个汇集了众多有趣且实用的小工具的平台,它不仅帮助用户快速找到所需的工具,还能激发灵感,提升创造力。 一、网站概览 "xs.tools" 提供了一个简洁而直观的界面…

阻塞队列:ArrayBlockingQueue和LinkedBlockingQueue区别

文章目录 1、阻塞队列具有以下特点:2、以下是几个常见的应用场景3、ArrayBlockingQueue和LinkedBlockingQueue区别 阻塞队列(BlockingQueue)是一种特殊类型的队列,它用于在多线程环境中实现线程之间的通信。 阻塞队列的实现通常依赖于底层的锁机制和条件…

展厅设计要遵守哪些原则

1、定位要准确 企业文化展厅是比较稳固的,是长期的存在于企业管理内部的,因此在企业展厅设计的时候需要有正确的定位,要从传统工艺,选材,设计风格和价格等的方面,进行一个整体的分析,能准确的掌…

Spring和SpringBoot(概述与功能)

目录 一、SpringBoot 概念 (1)基本介绍 (2)部分注解 (3)其它介绍 ​编辑 二、 Spring 缺点 (1)配置繁琐 (2)依赖繁琐 三、SpringBoot 功能&#xff0…

LDO电容选型指南

1 为什么电容的选择至关重要 电容往往被人们所忽视,在许多工程师的心目中,电容不过是两个导体加上中间的隔离电解质。总而言之,它们属于最低级的电子元件之一。 工程师们通常通过添加一些电容的办法来解决噪声问题。这是因为他们普遍将电容视…

EEtrade:现货黄金交易中的建仓指南

现货黄金是一种重要的投资方式,为投资者提供了良好的盈利环境。为了在这个市场中取得成功,投资者必须掌握建仓的技巧和策略。以下是有关如何进行现货黄金建仓的详细指南。 一、建仓基本概念 建仓,也叫开仓,是指在现货黄金交易中…

敏捷开发时代,彻底结束了

最近,我收到一位读者的私信,他最近“内耗”得非常厉害,他可能一时兴起把我的私信当作了吐槽箱。 他们公司一直实行敏捷的管理模式,复盘发现了一个问题:发布与迭代具有强相关性,一个迭代就发布一次&#xf…

C++语法13 单分支结构的相关问题详解

一、奇偶数问题 要判断一个数是否是偶数,只要判断这个数字能不能被2整除即可。如果一个数字a除以2,没有余数,那么就是偶数;如果除以2有余数,那么就是奇数。 if(a%20) a是偶数 if(a%21) a是奇数 训练&#xff1…

2-Matplotlib是什么

Matplotlib是什么 Matplotlib 是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy ndarray 数组来绘制 2D 图像,它使用简单、代码清晰易懂,深受广大技术爱好者喜爱。 NumPy 是 Python 科学计算的软件包&…

【面试干货】常见的编译时异常(运行时异常)及其处理

【面试干货】常见的编译时异常(运行时异常)及其处理 1、SQLException2、IOException3、FileNotFoundException4、ClassNotFoundException5、EOFException6、总结 💖The Begin💖点点关注,收藏不迷路💖 在Jav…

背就有效!2024下《系统架构设计师》50个高频考点汇总

宝子们!上半年软考已经结束一段时间了,准备备考下半年软考高级-系统架构设计师的小伙伴可以开始准备了,毕竟高级科目的难度可是不低的,相信参加过上半年架构的小伙伴深有体会。 这里给大家整理了50个高频考点,涵盖全书…

示例:WPF中绑定枚举到ComboBox想显示成中文或自定义名称如何实现

一、目的:在开发过程中绑定的枚举不想显示成英文字段怎么办,这里通过TypeConverter的方式来实现绑定的枚举从定义的特性中读取 二、实现 首先定义如下枚举 [TypeConverter(typeof(DisplayEnumConverter))]public enum MyEnum{[Display(Name "无&q…

LLM上下文长度扩展方案:Position Interpolation

文章目录 前言1. 预备知识2. PI3. 实验 前言 题目: Extending Context Window of Large Language Models via Positional Interpolation 论文地址:Extending Context Window of Large Language Models via Positional Interpolation 1. 预备知识 由于P…

打造工业操作系统开源开放体系

我国制造业具有细分行业、领域众多,产品丰富,制造模式多样等特点,围绕以工业操作系统为核心的工业软件赋能体系建设,离不开平台运营商、工业软件开发商、系统服务商、科研机构、工业企业等多方联合参与。聚众同行、聚力创新&#…

MySQL约束详解:构建数据完整性基石

目录 MySQL约束1.1 约束1.1 数据类型1.2 主键约束[重要]1.3 自增约束1.4 唯一约束1.5 非空约束1.6 默认值代码演示 1.7 外键约束[了解]思维导图最后 MySQL约束 MySQL作为广泛使用的开源关系型数据库管理系统,其强大的数据约束功能对于维护数据的一致性和准确性至关…

宋仕强论道之华强北假货

宋仕强论道之华强北假货,在华强北野蛮生长猥琐发育的那些年假货一度泛滥,就电子元器件来说,就有翻新(拆机)货、散新货、换标货、虚标货、也国产替代白牌货等几种主要的类型。今天我们来分析华强北假货初探之散新货&…

Windows环境部署MySQL_8.4.0 LTS的部署安装、验证连接以及卸载全过程实操手册

前言: 什么是 MySQL MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于Oracle 公司。MySQL 是一种关系型数据库管理系统,关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内&am…

IT入门知识第四部分《数据库》(4/10)

目录 1. 数据库基础 1.1 数据库的定义 1.2 数据库的关键概念 数据模型 数据库架构 数据库操作语言(DML 和 DDL) 总结 2. 关系型数据库 2.1 MySQL MySQL 的历史和特点 MySQL 的安装和配置 MySQL 的基本操作 2.2 PostgreSQL PostgreSQL 的特…

LabVIEW利用旋转编码器脉冲触发数据采集

利用旋转编码器发出的脉冲控制数据采集,可以采用硬件触发方式,以确保每个脉冲都能触发一次数据采集。本文提供了详细的解决方案,包括硬件连接、LabVIEW编程和触发设置,确保数据采集的准确性和实时性。 一、硬件连接 1. 旋转编码…

Linux搭建我的世界乌托邦探险之旅3.2整合包服务端,Minecraft开服教程

Linux服务器使用MCSM10 搭建 我的世界 乌托邦探险之旅3.2 整合包 服务端 的教程,Minecraft整合包开服教程。 大型养老探险整合包:乌托邦探险之旅3.2,探索上千种结构,造访丰富的自然群系,欣赏生动的生物动画&#xff0…