当前位置: 首页 > news >正文

Spring系列学习二、Spring框架的环境配置

Spring框架的环境配置

  • 一、Java环境配置
  • 二、 Spring框架的安装与配置
  • 三、Maven与Gradle环境的配置
  • 四、IDE环境配置(Eclipse与IntelliJ IDEA)
  • 五、结语

一、Java环境配置

所有编程旅程总是得从基础开始,如同乐高积木大作的基座,首先我们需要配置Java环境。别紧张!这过程比想象中简单多了,甚至比喝杯冷啤酒还简单。只需要识别你的操作系统类型,然后到oracle官网下载对应的Java开发工具包(JDK),建议下载Java17或Java21,因为我们本系统spring使用6.1.2版本,需要最低Java17,下载和安装教程,参考安装教程。就像你从冰箱里拿一罐无酒精啤酒,冷冰冰的就在那等你。「啪」一声,瓶盖开了。一样,安装JDK就是「下一步」、「下一步」、「完成」,那一刻你不禁想喊出“爽”。
在这里插入图片描述

不过,我们还需要干一件重要的事——设置环境变量。JDK安装好后,我们需添加JAVA_HOME,指向你的JDK目录。然后把JAVA_HOME/bin添加到Path变量里,在上面说的安装教程里有详细介绍。不接触这两个变量,你的Java开发之路就无法启动。别怕,这对你来说小菜一碟,就如同把瓶装啤酒倒进玻璃杯,就是这么简单。

二、 Spring框架的安装与配置

既然我们已经配置好Java环境,那么也达到了安装Spring框架的时候。你难道不想知道Spring框架如何让Java的生态世界如此美丽吗?这一步类似于你拿起那台一直想骑的自行车,把气候恰好,放风的车胎充好气,准备出发!

在Spring官网上,你可以找到最新的Spring Framework版本(spring源码),接着解压到你认定靠谱的地方。这个步骤就像把刚刚买到手的新玩具卸下来,兴奋地探索每一个零件。最后,将所有的JAR文件放入你的项目的库目录中,也就是把所有零件组装起来,准备万全。

在这里插入图片描述
当然,现在看来这种方式还是有点土, 实际上,我们在新的项目开发过程中,一般都是通过创建maven项目或gradle项目的,使用他们来管理依赖的jar,如果是创建的maven项目或gradle项目, 使用起来非常简单,只需要在pom.xml配置中,引入依赖的spring对应的maven坐标, 或者是gradle项目,只需要在gradle的配置文件中,引入依赖的spring对应的gradle坐标。详细可以参看spring引入。
在这里插入图片描述

三、Maven与Gradle环境的配置

通常来说,对于大型项目来说,我们需要Maven或者Gradle来做自动构建。这就像是将你刚买的新自行车轮胎充满气,看看哪个更适合你的掌控。其实,他们两个都有很好的跨平台特性和依赖管理。值得注意的一点是,Gradle提供了更灵活的配置方式,虽然这就意味着复杂性的提高。但没关系,我们一步步来。(本系列将采用maven进行代码依赖管理,Gradle可也是基于maven实现的管理,有空可以了解下。)

Maven只需要几个命令就能安装好。首先,从Apache Maven官方网站下载,解压缩到适当位置,然后更新“M2_HOME”和“PATH”环境变量即可。Windows电脑环境变量配置参考 MAC电脑环境变量配置参考
听起来是不是和调音乐似的,找对位置,弄明白节奏,然后一切就灵活起来。基于Maven创建JAVA应用,可参考spring官网说明,地址如下:https://spring.io/guides/gs/maven/。

接下来,安装和配置Gradle过程类似,只是需要再额外设置“GRADLE_HOME”。真的,比你想象的要简单!就像把自行车从地上抬起来,放上马鞍,接着就能迎风而行。基于Gradle创建JAVA应用,可参考spring官网说明,地址如下:https://spring.io/guides/gs/gradle/ 。

四、IDE环境配置(Eclipse与IntelliJ IDEA)

有了所有这些工具和环境,现在,我们需要一个像样的集成开发环境(IDE)来编写代码。选择一款合适的IDE就像在全球大型公司的多样化产品清单上选择一款适合自己的商品。尽管Eclipse和IntelliJ IDEA都是不错的选择,但它们的定位和主要功能有所不同。

其实,说到底,选择IDE是个人口味选择的问题。如果你想玩安全,那就选择Eclipse,因为它是Java开发的老牌熟手,依靠插件提供强大功能。但需要注意,因为Eclipse对内存要求较高,所以你最好为它准备足够的运行空间。简单点说,Eclipse就像是那杯热巧克力,温暖、全面,让人心满意足。

与此相反,如果你是个喜欢探索新事物的人,那么你可能会对IntelliJ IDEA比较感兴趣。IDEA操作简单,功能强大,但需要开发者花费更多时间学习和适应,就像黑巧克力,甘苦并存,却令人欲罢不能。本文以IntelliJ IDEA为例讲解, Intellij IDEA官网。
在这里插入图片描述

知道了大概选择了哪款IDE后,接下来只需要下载并安装。和以前一样,安装基本上就是「下一步」、「下一步」、「完成」这个流程。安装好之后,我们需要配置JDK以及Spring Library。在定义环境变量时,你需要指定你的项目和模块SDK。在这个过程中,你将体验到简洁与高效的魅力, IDEA的使用有问题,可以自行搜索,相信你一定能轻松解决。

五、结语

好了,本章节讲解的内容比较繁琐,涉及Java环境、Spring框架、Maven、Gradle,以及IDE的配置,这些基础部署工作都是我们进入编程世界的敲门砖。一旦你完成这些配置,你就准备好深入学习Spring与Java集成开发了。
在下一章,我们会探讨如何利用这些工具和环境来编写你的第一个Spring程序。没错,我们即将启航,航向一个全新的世界。拉紧安全带,我们即将起航!

相关文章:

Spring系列学习二、Spring框架的环境配置

Spring框架的环境配置 一、Java环境配置二、 Spring框架的安装与配置三、Maven与Gradle环境的配置四、IDE环境配置(Eclipse与IntelliJ IDEA)五、结语 一、Java环境配置 所有编程旅程总是得从基础开始,如同乐高积木大作的基座,首先…...

基于飞浆OCR的文本框box及坐标中心点检测JSON格式保存文本

OCR的文本框box及JSON数据保存 需求说明 一、借助飞浆框出OCR识别的文本框 二、以圆圈形式标出每个框的中心点位置 三、以JSON及文本格式保存OCR识别的文本 四、以文本格式保存必要的文本信息 解决方法 一、文本的坐标来自飞浆的COR识别 二、借助paddleocr的draw_ocr画出…...

ubuntu 安装docker GPG error缺少公钥解决方法

文章目录 报错信息解决方案 报错信息 W: GPG error: http://mirrors.aliyun.com/docker-ce/linux/ubuntu focal InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8 E: The repository ‘http:…...

Laravel的知识点

1.{{ }} 是在 HTML 中内嵌 PHP 的 Blade 语法标识符,表示包含在该区块内的代码都将使用 PHP 来编译运行。 2.两种写法 3.return void 在这段注释中,"return void" 表示该函数或方法没有返回值。这意味着它执行某些操作或任务,但…...

STM32 基础知识(探索者开发板)--103讲 通用定时器

定时器溢出时间计算方法: Tout ((arr 1) * (psc 1)) / Ft us arr:自动重装载值 psc:时钟预分频数 定时器相关实验通用步骤 1.定时器初始化 a.定义结构体句柄 b.设基地址 c.设分频系数 d.设自动重装载值 e. 设计数模式 f.初始化定时器 2.外设模式配置 a.设置模式 d.映…...

mysqld_exporter使用

下载自己解压好 https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz在需要监控的数据库上执行 CREATE USER monit_test* IDENTIFIED BY Sfn4ZCHsK WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATI…...

Java 解决远程调用 ssl 证书认证问题

Java 解决远程调用 ssl 证书认证问题 方法 1方法 2方法 3 方法 1 在 jdk 目录导入证书。 首先要下载 服务器 ssl 证书,下载完成之后。把它命名成 Root.cer 后面使用 cmd 命令行 在 jdk 目录导入。 例如 : jdk 的目录为:D:\JetBranins\Intel…...

kubernetes(k8s) Yaml 文件详解

YAML格式:用于配置和管理,YAML是一种简洁的非标记性语言,内容格式人性化,较易读。 1、查看API 资源版本标签 kubectl api-versions 2、编写资源配置清单 kubectl create -f nginx-test.yaml --validatefalse 2.3 查看创建的po…...

手拉手后端Springboot整合JWT

环境介绍 技术栈 springbootmybatis-plusmysqljava-jwt 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 1.8 Spring Boot 2.7.13 mybatis-plus 3.5.3.2 Json Web令牌简称JWT Token是在服务端产生的一串字符串是客户端访问资源接口(AP)时所需要的资源凭证。…...

小狐狸GPT付费2.4.9 去除授权弹窗版

后台安装步骤: 1、在宝塔新建个站点,php版本使用7.2 、 7.3 或 7.4,把压缩包上传到站点根目录,运行目录设置为/public 2、导入数据库文件,数据库文件是 /db.sql 3、修改数据库连接配置,配置文件是/.env 4、…...

Scrapy爬虫中合理使用time.sleep和Request

概述 在Scrapy爬虫中,我们需要深入分析time.sleep和Request对象对并发请求的影响。time.sleep函数用于在发起请求之前等待一段时间,而Request对象用于发送HTTP请求。我们必须仔细考虑这些操作对其他并发请求的潜在影响,以及在异步情况下可能…...

在Spring Cloud中使用Ribbon完成一个简单的负载均衡demo

Spring Cloud系列断更了有一段时间了,这段时间最近都在忙着项目上的事,天天修复bug以及调整需求,反正各种操劳,了解业务需求,然后开发相关功能,很久都没碰Spring Cloud系列的相关文章了,最近回头…...

mysql-5.6.16的内存泄漏问题

一、背景 有一台物理机上一个版本为5.6.16的从库出现了内存的增高,观测其日志可以发现,这台数据库已经oom很多次了,并且stop slave的时候会卡住非常长的时间才能停止 二、根本原因 上述的现象可以看到是一个明显的内存泄漏现象&#xff0c…...

相机内参标定理论篇------相机模型选择

相机种类&#xff1a; 当拿到一款需要标定内参的相机时&#xff0c;第一个问题就是选择那种的相机模型。工程上相机类型的划分并不是十分严格&#xff0c;一般来说根据相机FOV可以把相机大概分为以下几类&#xff1a; 长焦相机&#xff1a;< 标准相机&#xff1a;~&…...

java设计模式学习之【状态模式】

文章目录 引言状态模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用状态示例代码地址 引言 设想你正在使用一个在线视频播放器观看电影。随着你的互动&#xff0c;播放器可能处于不同的状态&#xff1a;播放、暂停、缓冲或结束。每个状态下&#xff0c;播放…...

使用aspose.Words更新表格列宽

public static bool UpdateTableStyle(string filePath) { try { Document doc new Document(); //样式 Style style doc.Styles.Add(StyleType.Paragraph, "cellStyle"); style.Font.Name "simsun"; PageSetup pageSet doc.Sections[0].PageSetup; pa…...

pycharm 工具栏不见了

新版pycharm后&#xff0c; 菜单栏和工具栏不见了 目录 我发现的解决方法&#xff1a; 其他旧版的解决方法&#xff1a; 我发现的解决方法&#xff1a; 其他旧版的解决方法&#xff1a; 另外&#xff0c;一些使用pycharm的新手可能会由于不熟悉软件的功能而误操作&#xff…...

图灵日记之java奇妙历险记--类和对象

目录 类的定义和使用类的定义格式 类的实例化类和对象的说明 this引用this引用的特性 对象的构造及初始化就地初始化构造方法 封装包导入包中的类自定义包 static成员static修饰成员变量static修饰成员方法 代码块代码块概念及分类构造代码块静态代码块 匿名对象 类的定义和使用…...

Kotlin 枚举类

使用 enum 修饰符&#xff1b;每个枚举常量都是一个对象&#xff0c;枚举常量以逗号分隔 // 枚举类 enum class Direction {NORTH, SOUTH, WEST, EAST }// 每一个枚举都是枚举类的实例&#xff0c;所以可以这样初始化 enum class Color(val rgb: Int) {RED(0xFF0000),GREEN(0x…...

可运营的Leadshop开源商城小程序源码 +H5公众号+带视频教程

源码简介 Leadshop是一款出色的开源电商系统&#xff0c;具备轻量级、高性能的特点&#xff0c;并提供持续更新和迭代服务。该系统采用前后端分离架构&#xff08;uniappyii2.0&#xff09;&#xff0c;以实现最佳用户体验为目标。 前端部分采用了uni-app、ES6、Vue、Vuex、V…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...