SpringBoot环境搭建与初创程序

news/2024/10/22 12:28:25/

一: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.ppmy.cn/news/1169197.html

相关文章

ubuntu安装rust教程

参考【Rust】Linux上安装Rust开发环境 sudo apt-get install curl# 注意&#xff0c;不开代理很可能下不到&#xff0c;一直报403 export RUSTUP_DIST_SERVERhttps://mirrors.ustc.edu.cn/rust-static export RUSTUP_UPDATE_ROOThttps://mirrors.ustc.edu.cn/rust-static/rustu…

前端面试基础面试题——11

1.什么是 vue 的计算属性&#xff1f; 2.vue怎么实现页面的权限控制 3.watch的作用是什么 4.响应式系统的基本原理 5.vue-loader 是什么&#xff1f;使用它的用途有哪些&#xff1f; 6.vuex 工作原理详解 7.vuex 有哪几种属性&#xff1f; 8.什么是 MVVM&#xff1f; 9…

7种典型的钢结构BIM应用

钢铁的工作流程往往会造成项目各个阶段信息缺乏、成本高、效率低等问题。 BIM技术通过数字化真实信息模拟建筑&#xff0c;通过中央文档共享信息&#xff0c;将流程的各个阶段紧密联系起来&#xff0c;交换信息&#xff0c;提高效率&#xff0c;降低成本。 制造专用软件不断发展…

自动化运维ansible(ansible-playbook)

一、ansible-playbook的构成 Inventory&#xff1a;主机列表&#xff0c;表示剧本中的任务要应用在哪些主机上; Tasks&#xff1a;具体任务&#xff0c;即调用哪些模块完成操作&#xff0c;可以配置多个任务; Variables&#xff1a;变量&#xff0c;包含内置变量和自定义变量;…

[论文笔记]GPT-2

引言 今天继续GPT系列论文&#xff0c; 这次是Language Models are Unsupervised Multitask Learners&#xff0c;即GPT-2&#xff0c;中文题目的意思是 语言模型是无监督多任务学习器。 自然语言任务&#xff0c;比如问答、机器翻译、阅读理解和摘要&#xff0c;是在任务相关…

【源码】C/C++运动会计分系统 期末设计源码

文章目录 题目介绍功能源码效果展示带报告&#xff08;内容&#xff09; 题目介绍 使用语言&#xff1a; 两个版本都会发&#xff1a; 版本1&#xff1a;C语言 版本2&#xff1a; C 代码量&#xff1a; 500 题目介绍&#xff1a; 要求&#xff1a;初始化输入&#xff1a;N-参赛…

使用Python打造微信高效自动化操作教程

引言 在如今数字化时代&#xff0c;人们对于效率的追求越来越强烈&#xff0c;尤其是在工作和学习中。自动化操作成为了提高生产力的有效途径之一&#xff0c;而PyAutoGUI和Pyperclip作为Python中的两个强大库&#xff0c;为我们实现自动化操作提供了便利。本文将向大家介绍如…

2023-10-20 游戏开发-unity不同版本下载-记录

unity hub下载页面: Unity官方下载_Unity最新版_从Unity Hub下载安装 | Unity中国官网 Unity最新版本下载-Unity稳定版本 | Unity中国官网 不同版本引擎下载: UnityHub国际版下载链接 复制链接地址&#xff0c;在浏览器导航栏粘入地址&#xff0c;打开UnityHub&#xff0c;等待…