SpringBoot环境搭建与初创程序

一:IDEA环境准备

IDEA社区版版本: 2021.1-2022.1.4


IDEA专业版版本: 无要求


🌟如果个人电脑安装的IEDA不在这个范围,需要卸载重新安装;且⼀定要删除注册表

参考文章➜IDEA卸载和删除注册表

二: Maven

(1)Maven的概念

💗Maven是一个项目/软件的管理工具,通过pom.xml文件的配置获取jar包,而不用手动去添加jar包

(2)Maven的作用

🌟简单,方便,提高我们的开发效率,减少我们的开发Bug


💜Maven提供的功能非常多;比如项目构建、管理依赖......

(3)创建Maven项目

①左上角的File➜new➜project


②选择Maven,然后next,接着配置名字和路径,即可完成


③了解不同目录的作用

(1)pom.xml:主要是Maven项目最主要的配置文件

(2)src:主要用来放Java源代码

(3)main:主要放一些业务代码

(4)main/Java:主要用来放Java代码

(5)main/resources:主要用来放一些依赖的资源(图片、音频.....)

(6)test:主要放一些测试代码

 (4)Maven核心功能

1.项目构建

💗Maven给我们提供了一套简单的命令来完成项目的构建


🌟点击最右侧的Maven,点开Lifecycle,里面就是Maven提供的命令


💜Maven常用命令

2.管理依赖

①依赖:指当前项目所需要的第三方库、框架等等


②在pom.xml文件中引入对应的依赖即可

(Maven中央仓库里就有大量不同功能的依赖➜Maven中央仓库)


③关于引入依赖的步骤

(1)首先在pom.xml文件中,添加<dependencies></dependencies>标签

(标签里可以放很多依赖)

(2)接着在<dependencies></dependencies>标签里添加所需的依赖

(比如我引入一个mysql的依赖)

(3)点击刷新按钮,引入新加入的依赖

(必须要点击刷新,确保依赖能够出现且生效)

3.依赖传递

💗由于Maven的依赖具有传递性,所以会自动把所依赖的其他jar包也⼀起导入


🌟比如A依赖B,B依赖C,那么引入A的同时,也需要引入B和C

4.依赖排除

①功能:主动断开依赖的资源

(被排除的资源无需指定版本)


②使用原因:随着项目的越来越复杂,库之间的依赖关系也会变得越来越复杂;有些时候我们并不需要用到某种依赖,或者有些依赖版本之间发生了冲突,那我们就断开它

(比如在上图中,如果项目A不需要JarB,也可以通过排除依赖的方式来实现)


③方法:Maven Help插件

(下文详细说到)

(5)Maven Help插件

1.作用

🌟问题:当项目比较复杂时,我们就会有Jar包冲突的问题,这时候就需要去解决依赖冲突;解决冲突之前,需要先找到冲突,那该如何找到冲突?


💗我们可以使用Maven Help插件来观察包和包之间的依赖关系,找到依赖冲突

2.下载

🌟安装插件:

File➜Settings➜Plugins➜搜索Maven Help➜找到对应插件➜点击Install安装

(安装后需要重启下IDEA,才能生效)


3.功能

💗此时pom.xml的底部有个Dependency Analyzer,点击它就可以看到依赖之间的关系


💙(1)Conflicts:依赖冲突

💙(2)All Dependencies as List:以排序方式展示出依赖

💙(3)All Dependencies as Tree:以树型方式展示出依赖


💚通过右键依赖,选择Exclude,即可进行依赖排除

(6)关于坐标和仓库

1.坐标

💗在Maven中,根据groupId、artifactId、version的配置,来唯一识别一个jar包,缺一不可;我们就把类似于下面这段代码称为坐标


2.仓库

①本质:Maven仓库的本质就是一个目录/文件夹,这个目录被用来存储开发中所有依赖,比如jar包、插件等等


②功能:用于存储资源,管理各种jar包


③分类:中央仓库、本地仓库、私服


🌟当我们在pom文件中配置完依赖之后,点击刷新,Maven会根据坐标的配置,去仓库里寻找Jar包,并把它下载下来,添加到项目中

(7)中央仓库

1.概念

💗①Maven软件中内置⼀个远程仓库地址,就是中央仓库


💗②Maven中央仓库服务于整个互联网;由Maven团队维护,全球唯⼀

(中央仓库在国外,本地仓库在本地计算机)

2.地址

中央仓库地址➜中央仓库

(中央仓库里面存放了很多jar包和依赖,我们会在中央仓库去寻找所需的依赖)

3.如何找到所需的依赖

①打开中央仓库地址


②输入要找的jar包或者依赖的关键词

(下图以mysql为例)


③选择依赖或者jar包的版本


④点击版本后往下拉,找到如下图所示页面

(8)本地仓库

1.概念

💗自己本地计算机上的一个目录,用这个目录来存储jar包

(中央仓库在国外,本地仓库在本地计算机)

2.查找

当项目中引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包

(1)如果有,则在项目直接引用

(2)如果没有,则去中央仓库中下载对应的jar包到本地仓库


3.地址

💜本地仓库地址可以通过Maven配置查看

(Local repository就是本地仓库地址)


(9)私服

1.概念

💗一般由公司团队搭建的私有仓库


💗私服属于某个公司或者某个部门,往往需要⼀定权限

2.查找

💜有了私服之后,Maven依赖下载的顺序又发生了变化


🌟当Maven需要下载资源的时候

1. 先从本地仓库获取,本地仓库存在,则直接返回

2. 如果本地仓库没有,就从私服请求,私服存在该资源,就直接返回

3. 如果私服上不存在该资源,则从中央仓库下载,中央仓库不存在,就报错了

4. 如果中央仓库中存在,就先缓存在私服上之后,再缓存到本地仓库里,再为Maven的下载请求提供服务

(10)Maven设置国内源

1.原因

💗因为中央仓库在国外,所以下载起来会比较慢,因此我们选择借助国内⼀些公开的远程仓库来下载资源

2.国内源仓库

🌟 国内源仓库大全地址➜国内源仓库大全

3.配置当前的项目Setting

①找到setting.xml的地址


②此时如果没有setting.xml文件,就直接打开百度云复制里面的setting.xml的到.m2目录下即可

🌟百度云地址➜setting.xml(密码:lzh7)


③此时如果有setting.xml文件,则需要打开settings.xml,在mirrors节点上,添加以下内容

(这里以阿里云为例)

<mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>阿⾥云公共仓库</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
4.设置新项目的Setting

🌟上述配置的内容,只对当前项目生效,为了让后续新建的项目也生效,需要重新设置⼀下新项目的Settings


三:第一个SpringBoot程序 

⭐创建SpringBoot项目常见问题:创建项目常见问题(提取码:lzh7)

(1)了解SpringBoot

🌟SpringBoot是一个框架,我们知道Spring让Java程序更加快速,简单和安全,而SpringBoot则是为了简化Spring程序开发的


💔Servlet:Servlet需要写doGet、doPost等等方法,还需要配置Smart Tomcat


💖SpringBoot:SpringBoot写完后直接通过DemoApplication.java去运行,不需要再配置任何东西

(2)安装SpringBootHelp插件

1.针对版本

①使用社区版IDEA的才需要按安装SpringBootHelper插件


②使用专业版IDEA的不需要安装插件,IDEA已经集成了

2.查找插件并下载

🌟此处不要直接点击Install,直接点击Install,安装的是收费版(土豪请随意)


点击Plugin homepage,进入网页下载插件

(下载的是一个压缩包,但是切记切记不要解压,把它放在你想放的目录下即可)

3.安装插件

①点击上方齿轮形状的设置

②点击Install Plugin from Disk

③选择刚才下载的插件,安装,重启Idea即可


🌟当重启完IEDA之后,就可以看到Spring Initializr and Assistant,如下图所示

(3)创建SpringBoot项目

1.新建项目

File➜New➜Project➜Spring Initializr


2.了解项目

🌟推荐跟我的图选择的一样

①Project properties项目性能


②下图说明

(1)SpringBoot版本:选择任意2.X的且不带SNAPSHOT的,这个版本会随着SpringBoot的升级而发生变化,不固定 (3.X版本使用的是jdk17,不推荐;SNAPSHOT表示不稳定版本)

(2)打勾表示创建项目之初,就引入的第三方依赖,比如框架,插件,组件等

(3)所有引用的第三方框架

(4)修改SpringBoot的pom.xml

🌟找到如下图所示的代码,把.RELEASE删掉

(5)SpringBoot程序的目录介绍

①无用的四个目录或文件


②.idea:IEDA相关的一些配置


③src/main/java:放的是Java源代码;Java代码的运行就是在这里


④src/main/resources:放的是静态资源或配置文件

(1)static:静态资源文件夹;主要存放静态文件

(比如js,css,html等静态文件,不需要服务器数据进行绑定的页面)

(2)templates:模版资源文件夹;主要存放动态模板文件

(比如JSP,Freemarker,Thymeleaf等需要服务器动态渲染数据的文件)

(3)application.properties:SpringBoot项目的配置文件;非常重要

(后期文章详细介绍)


⑤src/test/java:放的是测试代码源代码

(注意:这里放的是开发人员的测试代码;与测试人员无关)


⑥pom.xml:Maven配置文件

(6)SpringBoot程序的运行

🌟找到如下图所示,即可运行SpringBoot


🌟运行成功如下图所示

(7)SpringBoot观察启动日志

 (8)SpringBoot编写代码并运行

①在src/main/java下,找到com.example.demo的包,在这个包下再创建一个controller包,然后创建一个java文件,取名为HelloController


②在HelloController文件下写以下代码

package com.example.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@RequestMapping("/sayhi")public String sayHi(){return "hello,SpringBoot";}
}

③重新运行SpringBoot


④启动网页


⑤代码分析

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

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

相关文章

第六届“中国法研杯”司法人工智能挑战赛进行中!

第六届“中国法研杯”司法人工智能挑战赛 赛题上新&#xff01; 第六届“中国法研杯”司法人工智能挑战赛&#xff08;LAIC2023&#xff09;目前已发布司法大模型数据和服务集成调度 、证据推理、司法大数据征文比赛、案件要素识别四大任务。本届大赛中&#xff0c;“案件要素…

克隆的虚拟机,查不到IP号

文章目录 问题解决描述解决步骤重新生成MAC地址修改一修改二 相关操作查看当前所有网卡修改网络配置文件文件内容修改修改文件名 问题解决 描述 使用克隆的虚拟机&#xff0c;网卡和原虚拟机的相同&#xff0c;会导致克隆虚拟机的网卡不可用&#xff0c;从而使用ip addr查看不…

上新啦!请查收云原生虚拟数仓 PieCloudDB 十月动态

PieCloudDB Database 最新动态 PieCloudDB 压缩效率得到提升 为了节省存储空间&#xff0c;降低用户存储费用&#xff0c;PieCloudDB 在压缩率上不断优化&#xff0c;包括&#xff1a; 对 HLL&#xff08;HyperLogLog&#xff09;支持游程编码&#xff08;Run Length Encodi…

Visual Studio2019 与 MySQL连接 版本关系

Refer: VS 连接MySQL | mysql-for-visualstudio 的安装-CSDN博客 【精选】用VS2019&#xff08;C#&#xff09;连接MYSQL(从0入门&#xff0c;手把手教学&#xff09;_mysql-for-visualstudio-1.2.9.msi_Flying___rabbit的博客-CSDN博客 一、工具&#xff1a;VS2019需要连接M…

Qt 官方文档及阅读方法

文章目录 选择 All Qt Modules 查找模块选择 C Classes 查看该模块的所有的类当前类说明文档 QT 官方文档参考&#xff1a;https://doc.qt.io/qt-5 选择 All Qt Modules 查找模块 选择 C Classes 查看该模块的所有的类 当前类说明文档 包括 属性公共函数重新实现的公共功能公…

巡检管理系统哪一款简单实用?如何解决传统巡检难题,实现高效监管?

在电力、燃气、水务等公共服务领域&#xff0c;线路巡检工作是保障公众安全、避免事故发生的重要环节。然而&#xff0c;传统的巡检方式存在一些显著的问题&#xff0c;可能会对公共安全和稳定运行产生不利的影响。为了解决这些问题&#xff0c;需要一种能够实现高效、精准的线…

SystemVerilog学习(1)——验证导论

写在最前 选课不慎&#xff0c;选修课选了个SystemVerilog&#xff0c;事情比必修还多&#xff0c;上课老师讲的一点用没有&#xff0c;但是学分还得修&#xff0c;只能自学了&#xff0c;既来之则安之。 一、什么是SystemVerilog SystemVerilog简称为SV语言&#xff0c;是一种…

react native 使用夜神模拟器开发调试 windows+android

执行adb devices, 提示List of devices attached 打开本地sdk目录中的platform-tools文件夹&#xff0c;复制下面3个文件 打开夜神模拟器安装目录中的bin目录&#xff0c;把复制出来的文件复制替换到bin目录中 在复制一份platform-tools目录中的adb.exe&#xff0c;重命名为…

python基础教程:递归函数教程

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 1.递归的定义&#xff1a; 在函数内部直接或者间接调用函数本身 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ python源码、视频教程、插件安装教程、资…

四川云汇优想:短视频矩阵运营方案

短视频矩阵运营方案是为了提高短视频平台的用户黏性和活跃度&#xff0c;从而增强用户粘性和平台的商业价值而制定的。下面四川百幕晟小编将对短视频矩阵运营方案进行详细的介绍和分析。 首先&#xff0c;短视频矩阵运营方案要注重用户精细化运营。通过用户画像和兴趣标签&…

Mysql 中的性能调优方法

Mysql 性能调优方法可以从四个方面来说&#xff0c;分别是&#xff1a; 表结构与索引 SQL 语句优化 Mysql 参数优化 硬件及系统配置 这四个方面的优化成本和优化效果是成反比的。 表结构和索引的优化 表结构和索引的优化&#xff0c;主要可以下面这些方面去优化&#xff1a; 分…

JVM第十六讲:调试排错 - Java 线程分析之线程Dump分析

调试排错 - Java 线程分析之线程Dump分析 本文是JVM第十六讲&#xff0c;Java 线程分析之线程Dump分析。Thread Dump是非常有用的诊断Java应用问题的工具。 文章目录 调试排错 - Java 线程分析之线程Dump分析1、Thread Dump介绍1.1、什么是Thread Dump1.2、Thread Dump特点1.3、…

【大模型AIGC系列课程 3-8】AI 代理的应用

1. 如果有一群角色(AI Agent)会发生什么? Generative Agents: Interactive Simulacra of Human Behavior Paper: https://arxiv.org/abs/2304.03442 Demo: https://reverie.herokuapp.com/arXiv_Demo/ 我们的生成式代理架构。代理感知(Perceive)其环境(Env),所有感知都…

2023年金九银十面经,假的今年没有金九银十

24岁的我选择了裸辞 前言 说实话选择裸辞后很迷茫&#xff0c;但是又不想在原本的公司上班&#xff0c;目前处于昏昏沉沉的状态&#xff0c;工作也是混一天是一天&#xff0c;没有了什么明确的目标&#xff0c;不知道屏幕前的你们有没有这种感觉,目前想着休息一段时间&#xff…

非平稳信号分析和处理、STFT的瞬时频率研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

SpringBoot + MyBatis 在 jar 中可以启动但是 Idea中无法启动的原因

现象 在idea中启动始终卡住&#xff0c;查看线程堆栈发现一直在mybatis的处理过程中&#xff0c;细究了一下堆栈发现mybatis有使用远程方式加载类的情况&#xff0c;并且此时cpu会飙升&#xff0c; 在命令行中使用java -jar 的形式可以正常启动&#xff0c;但是在idea中启动始…

图书教材经营小程序商城的作用是什么

线下图书教材店非常多&#xff0c;在以前线下店是学生、学者们经常去的场所&#xff0c;每到周末人流不绝&#xff0c;但随着互联网发展以及客户消费升级&#xff0c;如今线下书店人流量非常少&#xff0c;除了头部品牌可以支撑外&#xff0c;中小品牌几乎很难生存。 同时加之…

ssm351校园服务平台管理系统+jsp

项目名称&#xff1a;ssm351校园服务平台管理系统jsp 点击这里进入源码目录 声明&#xff1a; 适用范围&#xff1a; 本文档适用于广泛的学术和教育用途&#xff0c;包括但不限于个人学习、毕业设计和课程设计。免责声明&#xff1a; 特此声明&#xff0c;本文仅供参考学习之用…

Kibana开发工具安装

版本说明 名称版本备注kibana kibana-7.7.1-linux-x86_64.tar.gz 安装配置 tar -zxvf kibana-7.7.1-linux-x86_64.tar.gz -C /usr/local/ cd /usr/local/ mv kibana-7.7.1-linux-x86_64/ kibana-7.7.1/ #编辑配置文件&#xff0c;在末尾添加 vim /usr/local/kibana-7.7.1/con…

贝锐花生壳+Fooocus,快速自建可远程访问的SDXL,平替Midjourney

Midjourney、stable diffusion两款AI绘图工具是最近这段时间的热点。不过&#xff0c;事无完美&#xff0c;他们各有一些优缺点。 例如&#xff1a;stable diffusion虽然开源可私有化部署&#xff0c;但操作相对复杂&#xff0c;需要设置各类参数&#xff1b;Midjourney虽然简单…