Spring Boot入门——Spring Boot项目的创建

news/2024/11/25 0:59:27/

一、网页版创建Spring Boot项目(了解)

1.进入网页https://start.spring.io​​​​​按如下方式选择

2.添加依赖

3.搜索web,添加Spring Wed依赖

4.点击下载代码

5. 使用idea打开下载好的文件即可

但实际上我们并不使用网页来创建Spring Boot项目,而是直接使用idea直接创建。 


二、使用idea创建Spring Boot项目

2.1 安装Spring Boot Help插件

如果使用的是idea社区版,是不能直接创建Spring Boot项目的,需要下载一个插件(注意idea的版本要在2022.1.4之前,jdk要在17之前),如果是专业版忽略安装插件这一步。

1.通过链接https://plugins.jetbrains.com/plugin/18622-spring-boot-helper/versions找到并下载免费版插件。

2.安装插件

3.创建项目时出现如下图标,就说明安装成功。


2.2 创建Spring Boot项目

1.File——>New——>Project

2.

3.Project type一定改成Maven(原来默认的不是Maven)

4.选择Web,勾选Spring Web,Spring Boot version尽量不要选择最新版(可能有未知错误)

5.直接创建文件即可

6.点击Load Maven Project并等待一会即可(第一次加载时间可能比较长)

7.打开pom.xml文件将version标签的3.3.6.release的.release删掉并且点击刷新(在pom.xml文件中的操作都需要刷新才能生效)


2.3 创建Spring Boot项目常见问题介绍 

一、报红

创建好Spring Boot项目之后,我们的pom.xml文件可能会出现一行或多行报红的情况,这实际上都是对应的报没有下载下来的缘故,对此我们有如下几种解决办法。

1.刷新Maven

这是最简单的办法

2.如果是全部包都没下载下来,多次刷新Maven(如果还是不行,可能是没有权限的原因)

3.如果是部分包没下载下来,也是优先多次刷新Maven,如果还是下载不来,就删除本地仓库(不是全部删除,只删除有报红的),如:

我们就去文件夹中找到对应的包,将它删除即可

如果还是解决不了,就加入版本号

一般只有上图这个包才会出现删除了本地仓库还是报红的,其它包都不建议加入版本号。

二、报错 
pom.xml文件可能还会有报错的情况,如:

出现上面的报错情况一般都是jar包不存在的原因,我们可以去中央仓库查询一下


2.4 父工程

我们知道引入的依赖需要有groupId、artifactId、version,但是在我们创建的项目中,上图中的两个依赖并没有显示version,但是却可以正常引入到项目中,并且按住ctrl键观察的话,是有显示版本号的

这是因为每⼀个SpringBoot工程,都有⼀个父工程. 依赖的版本号,在父工程中统一管理.  父工程指定版本号后, 就会自动引入和所指定版本对应的依赖, 创建的SpringBoot项目, 会继承 SpringBoot父工程. 


2.5 目录介绍

Spring Boot 项目有两个主要的目录:

src/main/java:  Java 源代码 

src/main/resources: 为静态资源或配置文件: 

   ◦ /static:静态资源文件夹, 比如前期学的js, css, html等静态文件, 不需要服务器数据进行绑定的页面

   ◦ /templates:模版资源文件夹, 主要存放动态模板文件, 比如JSP, Freemarker, Thymeleaf等需 要服务器动态渲染数据的文件

src/test/java: 测试代码源代码 

target: 编译后的文件路径 

pom.xml: maven 配置文件 

除了上面的src和pom.xml文件其它的都可以删除,特别的:当我们打开别人发给我们的文件是,一定要将他文件中的.idea文件删除再打开,因为原来的.idea文件中记录的是别人idea中的配置,有可能到了我们的idea就运行不了,因此需要删除,当用我们的idea打开时,会自动重新生成一个.idea文件。


三、运行项目 

3.1 运行项目,在网页中输出一些文字

1.按下图要求

2.运行项目

3.打开网页,输入http//127.0.0.1:8080/hello


3.2 Web服务器

HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式.  Web 服务器就是对HTTP协议进行封装, 程序员不需要直接对协议进行操作(自己写代码去解析http协议规则),让Web开发更加便捷, 所以Web服务器也被称为WWW服务器,  HTTP服务器, 主要功能是提供网上信息浏览服务 

常见的Web服务器有: Apache,Nginx, IIS, Tomcat, Jboss等  SpringBoot 内置了Tomcat服务器, 无需配置即可直接运行 

Tocmat默认端口号是8080, 所以我们程序访问时的端口号也是8080 


3.3 请求响应分析

对于上图中红色框的部分,代表的是资源路径,服务器接收到浏览器的信息后,就会通过资源路径找到这个资源,并发送给浏览器,如下图:

浏览器输入URL之后, 发起请求, 就和服务器之间建立了连接 

一、浏览器

输入网址:http://127.0.0.1:8080/hello  通过IP地址127.0.0.1定位到网络上的⼀台计算机, 127.0.0.1就是本机 

   ◦ 通过端⼝号8080找到计算机上对应的进程 , 也就是在本地计算机中找到正在运行的8080端口的程序

   ◦ /user/sayhi是请求资源位置 

资源:对计算机而言资源就是数据

web资源:通过网络可以访问到的资源(通常是指存放在服务器上的数据)  http://127.0.0.1:8080/user/sayhi ,就是向本地计算机中的8080端⼝程序,获取资源位置 是/user/sayhi的数据 8080端口程序,在服务器找/hello位置的资源数据,发给浏览器 

二、服务器

接收到浏览器发送的信息(如:/user/sayhi) 

在服务器上找到/user/sayhi的资源 

把资源发送给浏览器


3.4 访问出错问题

我们先来了解一下什么是状态码:

状态码可以理解为表示的是请求服务器的结果

状态码有如下几种:

1.  2xx(如200)

表示正常访问

2.  4xx(如404)

可能是资源不存在,比如写错了路径

也可能是服务器代码出错,比如注解写错了​​​​​​​

3.   5xx(如500)

表示程序员代码出错,如:

还有一种访问出错情况,是由于服务器未启动或被拉黑等原因引起的,如:


http://www.ppmy.cn/news/1549679.html

相关文章

如何通过OpenSSL来创建自签名的CA证书?

通过创建自签名CA证书可以让我们在没有商业支持的情况下学习与研究PKI(公钥基础设施)和SSL/TLS技术,本文将详细介绍如何通过OpenSSL来创建自签名的CA证书。 1. 初衷:为什么需要创建自签名CA证书? 除了开篇引言中提到的…

【杂记】vLLM如何指定GPU单卡/多卡离线推理

写在前面 仅作个人学习与记录用。主要记录vLLM指定GPU单卡/多卡离线推理的方法。 vLLM官方文档中Environment Variables页面有对指定GPU方法的唯一描述: # used to control the visible devices in the distributed setting "CUDA_VISIBLE_DEVICES": la…

微软在Ignite 2024发布Copilot+新功能

🦉 AI新闻 🚀 微软在Ignite 2024发布Copilot新功能 摘要:微软在Ignite 2024大会上宣布,Microsoft 365 Copilot将利用Copilot PC中的NPU本地运行AI模型,减少网络依赖。此功能将提升用户在Outlook和Word中的AI写作辅助…

Dockerfile复制目录进入镜像里

使用 ADD 复制目录进入镜像里 FROM ubuntu:22.04WORKDIR /rootRUN mkdir -p ./custom_nodes/ComfyUI-FluxTrainerADD ComfyUI-FluxTrainer ./custom_nodes/ComfyUI-FluxTrainerComfyUI-FluxTrainer 是一个目录,需要先 mkdir 创建这个目录,然后ADD 复制进…

php常用伪协议整理

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理php常见的伪协议 php伪协议介绍 直观点,就是php可以识别的协议。 类似于我们访问网站的http协议,我们用浏览器访问我们自己本地文件的file协议等。 php可以识别这些协议&#xf…

C语言——break、continue、goto

目录 一、break 二、continue 1、在while循环中 2、在for循环中 三、go to 一、break 作用是终止循环&#xff0c;在循环内遇到break直接就跳出循环。 注&#xff1a; 一个break语句只能跳出一层循环。 代码演示&#xff1a; #include<stdio.h>void test01() {for (…

Elasticsearch 分词器

一、分词器的作用 分词器&#xff08;Analyzer&#xff09;是Elasticsearch中用于文本分析与处理的组件。它的主要作用是将用户输入的一段文本&#xff0c;按照一定逻辑分析成多个词语。这个过程也叫做文本分析或文本切分。 二、分词器的构成 分词器由三部分组成&#xff1a…

【计算机网络】解决bind error

服务器有时可以立即重启&#xff0c;有时候无法立即重启 — bind error 首先要知道&#xff1a;四次挥手动作完成之后&#xff0c;主动断开连接的一方要维持一段时间的TIME_WAIT bind error原因&#xff1a;因为是服务器主动断开的&#xff0c;所以服务器要去维持TIME_WAIT状…