是人就能学会的Spring源码教学-Spring的简单使用

news2024/9/25 1:44:41

是人就能学会的Spring源码教学-Spring的简单使用

  • Spring的最简单入门使用
    • 第一步 创建项目
    • 第二步 配置项目
    • 第三步 启动项目

Spring的最简单入门使用

各位道友且跟我一道来学习Spring的最简单的入门使用,为了方便和简单,我使用了Spring Boot项目,这样可以减少大部分的配置,达到最简单入门的效果。

各位道友若是有Spring或者Spring boot的使用经验,大可跳过这一篇文章。

文章阅读需要耗费10分钟。

第一步 创建项目

Spring官网提供了一个网站用于辅助我们快速地创建Spring Boot的项目。

各位道友请打开网站:https://start.spring.io/

打开的页面如下图所示,图中的选项我已经按照我所需要的进行了设置。

image-20230505223434796

  1. 项目的构建工具,可以选择Maven,也可以选择Gradle,其中Gradle又支持两种脚本语言Groovy和Kotlin。这里选择的是Maven。
  2. 项目的使用的语言。这里选择Java。
  3. Spring Boot的版本,这里选择2.7.11
  4. Maven的group
  5. Maven的artifactId
  6. 项目的名称
  7. 项目的描述信息
  8. 项目中的包路径
  9. 项目打包的形式,这里设置为打成jar包
  10. Java的版本,这里使用Java8
  11. 点击Generate,便会下载创建的项目spring-code-study.zip。

第二步 配置项目

工欲善其事必先利其器,想要学习Spring,那么就得有一个趁手的工具。这里使用的是IDEA。

我们先将第一步下载的项目文件解压缩。解压缩之后,我们可以看到项目文件如下图所示。

image-20230505224246623

我们打开IDEA工具,使用File->Open菜单打开项目。

image-20230505224434055

选中刚才我们解压缩的项目,并点击OK。

image-20230505224618543

若询问你是否信任并打开这个Maven项目,点击Trust Project,表示信任项目。

image-20230505224704358

IDEA打开项目之后,我们可以在右下角就可以看到已经在下载Maven项目的依赖包了。默认是从Maven的中央仓库下载的,速度可能会有些慢。

image-20230505224942087

image-20230505224952458

若各位道友等不及了,或者自己已经有安装Maven,也可以在IDEA上选择本地安装的Maven。

打开菜单File->Settings。

image-20230505225228733

image-20230505225407304

  1. 在搜索框中输入maven
  2. 选择Maven的配置菜单
  3. 选择本地Maven的安装路径
  4. 点击Override,并选择用户自己的Maven配置文件的路径
  5. 点击Override,并选择自己Maven仓库的路径
  6. 点击OK完成配置,此时项目将使用用户本地安装的Maven及仓库。

如下图所示,可以看到Maven的依赖包的下载路径发生了改变,速度直接起飞。这里我假定各位道友本地有安装Maven以及对Maven的依赖下载位置进行了改变。例如可以使用国内的淘宝依赖源。

若各位道友未安装Maven,或不知道如何配置依赖源,那就乖乖地等待下载吧。

image-20230505225446311

依赖下载好了,从Maven窗口中可以看到,项目所需要的依赖已经下载好了。

image-20230505230214824

那么现在,项目的准备工作已经做好了,接下来就是启动我们的项目。

第三步 启动项目

我们打开类SpringCodeStudyApplication,执行main方法,即可运行Spring Boot项目。

image-20230506072824350

通过命令行输出,我们可以看到一个Spring Boot程序被启动,但是很快就结束了,那是因为我们的Spring Boot程序中什么都没有,如果我们在Maven的配置文件pom.xml中增加依赖spring-boot-starter-web,就可以看到Spring Boot项目一直处于运行中了。

image-20230506072951019

到此为此,我们就准备好了一个Spring Boot项目,这个项目将会用于我们后面的Spring的源码分析当中。

有一些初学的道友可能会问我们不是要学Spring的源码,为什么创建的Spring Boot的项目?

那是因为Spring Boot使用的也是Spring,Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题,习惯大于约定。

简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题,习惯大于约定。

说白了,使用Spring Boot可以简化对Spring的使用。

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

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

相关文章

解决NixOS在Vmware中无法自适应显示缩放问题

解决NixOS在Vmware中无法自适应显示缩放问题 此方法同样适用于所有虚拟机,主要解决的是 虚拟机界面显示无法自适应操作虚拟机时,过渡动画卡顿看视频时,分辨率不高,伴随卡顿 起因 在为 NixOS安 装完 Vmware Tools 后,…

2023年最新水果DAW编曲软件fl studio21 macOS - 21.0.3.3036简体中文版免费下载支持苹果M1/M2处理器

一直梦想制作自己的音乐(无论是作为一名制作人还是艺术家),你可能会想你出生在这个时代是你的幸运星。这个水果圈工作室和上一版之间的改进水平确实令人钦佩。这仅仅是FL Studio 21所提供的皮毛。你的音乐项目的选择真的会让你大吃一惊。你以前从未有过这样的多才多…

【LeetCode】《LeetCode 101》第七章:动态规划

文章目录 7.1 算法解释7.2 基本动态规划:一维70. 爬楼梯(简单)198.打家劫舍(中等)413. 等差数列划分(中等) 7.3 基本动态规划:二维64. 最小路径和(中等)542. …

【项目经理】论项目经理的自我修养

项目经理的非职权领导力 文章目录 项目经理的非职权领导力一、权利的类型二、构成权利的三要素三、沟通是实施影响力的重要手段3.1 沟通的主要类型3.2 沟通的内容和形式3.3 沟通的主要困难 四、综合沟通协调的技巧4.1 常见的负面反馈4.2 沟通技巧 五、论项目经理的自我修养5.1 …

PyCharm2023.1下载、安装、注册以及简单使用【全过程讲解】

在使用PyCharm IDE之前,请确保自己的计算机里面安装了Python解释器环境,若没有下载和安装可以看看我之前的文章>>>Python环境设置>>>或者还可以观看视频讲解。 注意:本文软件的配置方式仅供个人学习使用,如有侵…

如何将PDF文件转换为Excel表格?这两个方法方便实用!

如何将PDF文件转换为Excel表格? 很多人在编辑和处理表格内容时,需要将PDF文件转换为Excel表格,以更好地修改和排版。虽然PDF文件往往起到展示整体效果的作用,但是PDF转Excel也是办公中老生常谈的文档处理操作。如果您还不知道如何…

Java架构中VO、DTO、DO、BO的区别与联系(超详解)

VO、DTO、DO、BO的区别与联系 前言一、概念1、VO (View Object)2、DTO(Data Transfer Object)3、DO(Data Object)4、BO(Business Object) 二、为什么会存在Vo?三、总结 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识…

深入理解 node 中的文件流

为什么要使用文件流 想象这样一个场景,我要处理一个 10G 的文件,但我的内存大小只有 2G,该怎么办? 我们可以分 5 次读取文件,每次只读取 2G 的数据,这样就可以解决这个问题,那么这个分段读取的过…

HTML基本标签介绍

HTML的基本认识! 文章目录 HTML基本标签介绍1. HTML是什么?1.1 HTML代码的样子1.2 HTML文件的展示1.3 VSCode配置 2. HTML常用标签介绍2.1 注释标签2.2 标题标签2.3 段落标签2.4 换行标签2.5 格式化标签2.6 图片标签2.7 超链接标签2.8 表格标签2.9 列表标…

Windows下 ffmpeg 的 “Protocol not found“ 的解决

文章目录 1. 问题描述2. 排查方法记录2.1 检查代码中编码器是否安装2.2 确定ffmpeg版本号2.3 打印编译参数2.4 查看运行中调用dll 1. 问题描述 调用ffmpeg库中,如果使用 avformat_open_input 打开返回 -1330794744,使用 av_strerror char buf[1024]{0};int result …

JavaScript高阶项目—组件化的可编辑表格

1. 任务要求 JSON数据,表格中数据来自服务端,由JSON格式表示。通过JSON数据生成可编辑表格,并且灵活配置可编辑得到数据列。输入数据时打开开发者模式有提示,并且设置判断,要求输入正确的成绩。要求表格的可编辑列,计…

新鲜热乎的春招面经汇总

作者:阿秀 校招八股文学习网站:https://interviewguide.cn 这是阿秀的第「263」篇原创 小伙伴们大家好,我是阿秀。 欢迎今年参加秋招的小伙伴加入阿秀的学习圈,目前已经超过 2300 小伙伴加入!去年认真准备和走下来的基…

高精度DEM(12.5m)数据以及下载方式介绍

一、 DEM代表数字高程模型,是一种数字地形模型,用于表示地球表面的海拔高度。 DEM数据可以通过多种方法获得,包括激光雷达、遥感技术和GPS测量等。 DEM数据通常以栅格形式呈现,每个栅格单元包含一个高度值。DEM数据可以用于许多…

gitee如何上传自己的代码

1,右击你要上传的项目,选择Git bash Here 2,接着输入 git init 此时你会发现你的当前文件夹会多了一个.git文件夹 点击.git文件夹,进入之后发现是这样,然后用记事本打开config文件 3,发现是这样,然后我们要配置一个用…

简单科普视频云

1. 本文目的 每当我连写几篇行业分析的虚文以后,我都会做一两篇技术科普和产品分析的硬核分享,证明我是脚踏实地的戏说江姗,而非云里雾里的胡乱推倒。 其实是写硬核分享应者寥寥,反倒是写一些虚文很多人看热闹。 最近看到PPIO王闻…

数字化转型导师坚鹏:如何制定企业数字化转型年度培训规划

如何制定企业数字化转型年度培训规划 ——以推动企业数字化转型战略落地为核心,实现知行果合一 课程背景: 很多企业都在开展企业数字化转型培训工作,目前存在以下问题急需解决: 缺少针对性的企业数字化转型年度培训规划 不清…

双目视觉(七)稀疏双目匹配

系列文章 双目视觉(一)双目视觉系统双目视觉(二)双目匹配的困难和评判标准双目视觉(三)立体匹配算法双目视觉(四)匹配代价双目视觉(五)立体匹配算法之动态规…

测试1:概念

1.需求 用户需求:该需求一般比较简略。(一句话) 软件需求:或者功能需求,详细描述开发人员必须实现的软件功能(一个文档) 2.BUG 说明是存在的并且正确,程序和规格说明之间不匹配是错误 3.软件生命周期 从诞生到停服 需求分析,计划,设计,编码,测试,运行维护 需求分析:分析…

出海的中国企业,为什么有80%都选择了这家云服务商?

对于想要出海的中国企业来说,什么样的云服务才是他们的最佳选择? 中国企业出海驶入快车道 中国企业的出海大潮,多年来一直方兴未艾,并且得到了政府部门的大力支持。这股“走出去”的热潮,一方面对内有利于推动产业升级…

均摊时间复杂度

均摊时间复杂度,它对应的分析方法,摊还分析(或者叫平摊分析) 均摊时间复杂度应用的场景比它更加特殊、更加有限 // array表示一个长度为n的数组// 代码中的array.length就等于nint[] array new int[n];int count 0;void insert…