创建一个Spring Boot项目

embedded/2025/1/23 17:34:07/
文章目录
  • 一、如何创建一个Spring Boot项目
    • 1.1 项目创建:专业版 or 社区版 or 网站创建
    • 1.2 数据配置
    • 1.3 项目启动
    • 1.4 代码编写
  • 二、Spring Boot 项目文件介绍
  • 三、Web服务器
  • 四、根据HTTP状态码解决bug
    • 4.1 404
    • 4.2 500
  • 五、Spring VS Spring Boot VS Spring Web MVC
    • 5.0 判断是哪种类型
    • 5.1 Spring
    • 5.2 Spring Boot
    • 5.3 Spring Web MVC
      • Spring Web
      • MVC
      • Spring MVC

一、如何创建一个Spring Boot项目

1.1 项目创建:专业版 or 社区版 or 网站创建

  1. 专业版:直接使用即可
    在这里插入图片描述

  2. 社区版:需要去额外安装【Spring Boot helper】插件,不能直接选installed,因为该插件要收费(有钱另说)

    • 如何免费下载插件:点击【Plugin homepage】,选择免费的版本,下载为zip文件,不需要解压,最后如下图把下载的zip文件导进去,而后重启IDEA即可
      在这里插入图片描述
  3. 使用网站创建:使用 该网站 进行创建,下载并解压缩后,在IDEA上打开即可

1.2 数据配置

  1. 关于Spring Boot的版本问题

    • 优点:我们不再需要去管理版本问题了,如考虑像“Tomcat要对应上Servlet版本”的问题,父类的pom文件会帮我们解决
      在这里插入图片描述
  2. 参数选择
    在这里插入图片描述

在这里插入图片描述

1.3 项目启动

  1. 提供了一个启动类,直接启动这个即可
  2. 启动类叫什么无所谓

在这里插入图片描述
3. 项目启动的日志
在这里插入图片描述

1.4 代码编写

  1. @RestController 注解:表示当前的代码能够被我们的浏览器识别

  2. @RequestMapping 注解:对应了路径

    //路径为【127.0.0.1:8080/sayhi】
    @RestController
    public class HelloController {
    @RequestMapping(“/sayhi”)
    public String sayHi(){
    return “hello”;
    }
    }

二、Spring Boot 项目文件介绍

  1. 没有用的文件:.mvn、HELP.md、mvnm、mvnm.cmd、templates(在static里)

    • 因为我们是按照Spring Boot的模版来创建项目,所以会给我们添加一些实际上没什么用的配置文件,直接删掉即可。
  2. .idea:代表了IDEA相关的配置

  3. src:代码

    • main:
      • java
        • com:放置Java源代码
        • resources:资源目录,主要是配置相关的代码
          • static:主要放置静态文件
          • templates:主要放置模版
          • application.properties:Spring Boot 项目的配置文件
    • test:放置了开发人员的测试代码,用来测试某一个文件是否有bug。注意,测试代码的目录结构和【java】里是一致的,并且我们测试完后也要让他们保持一致,方便后续寻找代码
    org.springframework.boot spring-boot-starter-test test
  4. target:编译后的class文件

  5. pom.xml:Maven 配置文件

  6. 关于文件夹的颜色:要求颜色匹配

    • 颜色的作用:颜色表示“当前目录为XXX功能”,设置完之后,Maven才知道我们的项目是什么样的,进而完成构建操作。所以文件夹的颜色也会影响代码的运行。
    • 形式:src里的java文件夹是蓝色的,test里的是绿色的。
    • 带颜色的文件夹名:名字是不重要的,我们可以随意改名,但文件夹的颜色一定要确保对应
    • 如何更改文件夹颜色:两种方法更改

在这里插入图片描述

  1. 关于修改文件名:快捷键shift + F6 或者 Refactor ----> Rename
    • 为何不直接手动修改文件名:无法确保相关被引用的文件都改名了。但是使用IDEA改名的话,IDEA会帮我们修改其他的关联此文件名的代码

三、Web服务器

  1. 什么是Web服务器
    • 作用:Web服务器就是对HTTP协议进行封装,使程序员不用自己写代码区解析HTTP协议规则,可以让Web开发更加便捷
    • 其他名称:Web服务器也被称为WWW服务器、HTTP服务器,主要用来提供网上信息浏览服务
    • 常见的Web服务器:Apache、Nginx、IIS、Tomcat、Jboss等
  2. 关于HTTP协议:HTTP客户端和HTTP服务器之间交互数据的格式

四、根据HTTP状态码解决bug

4.1 404

  1. 问题:表示用户访问的资源不存在
  2. 原因
    • 路径写错了
    • 注解拼写错误
      在这里插入图片描述

4.2 500

  1. 问题:服务器代码出问题了
  2. 解决方法:去服务器查看日志
  3. 查看错误日志的方法:从下往上一段一段查看,段落内从上往下看

五、Spring VS Spring Boot VS Spring Web MVC

5.0 判断是哪种类型

  1. 我们创建的项目是哪一种
    • 当前我们创建的项目类型,并不是那种“三选一”,有明显边界的关系,而是“即是……也是……”的关系
    • 所以没法具体说是哪个项目,我们一般会说该项目是Spring进行开发的,此时这个Spring指的是整个家族
      在这里插入图片描述
  2. 如何查看当前注解是哪个提供的?
    在这里插入图片描述
  3. 关于他们提供的功能:彼此之间是独立的
    loC对象没有被正确管理,并不影响RequestMapping的运行,路由映射依旧是可以使用的,因为Tomcat已经启动了。
    在这里插入图片描述

5.1 Spring

  1. 概念:是一个框架,可以简化Java开发
    • Spring 在概念上指的是“一个叫Spring的框架”,即【spring framework】
    • 在企业上说的 Spring 通常指【Spring全家桶】
  2. 对于Spring的框架概念的深挖:Spring是一个包含了众多工具的IOC容器
  3. Spring两大核心思想:IOC + AOP
  4. 问题:配置多且繁琐

5.2 Spring Boot

  1. 概念:基于Spring的一个框架,为了简化Spring项目而诞生的
    前面提到Spring是【Spring framewor】框架,这是Spring的核心。但随着技术的不断发展,Spring相对而言还是比较复杂了,所以我们又将这个框架简化成一个框架,取名为【Spring Boot】
  2. 为什么Spring Boot可以帮助我们更好地开发项目
    • 因为它集成了Maven,可以通过Maven引入一些依赖,如Spring Web、Mysql Driver,这些依赖就是相当于一个个功能,依赖内置了功能的实现
    • Spring Boot 只是将他们放在一起,以便我们的使用
  3. Spring Boot 特点之约定大于配置:Spring时期需要写很多的配置文件,Spring Boot则是采用约定的方式。比如我们直接约定好,默认去扫描哪个路径。这也是Spring Boot能实现零配置的原因。

5.3 Spring Web MVC

Spring Web
  1. 什么是Spring Web:可以使用 Spring去搭建一个网站
    在这里插入图片描述
MVC
  1. 概念:Model View Controller 的缩写,把一个项目按照功能分成了【模型】、【视图】、【控制器】三个部分,是一种工程架构的思想
    在这里插入图片描述
Spring MVC
  1. 概念:Spring 实现了MVC思想,这被称为“Spring MVC”。当然,Spring在实现过程中,也对其作出了一些小改动。

在这里插入图片描述

  1. Spring Web MVC?:因为 Spring MVC对项目划分主要是用来开发网站,所以又叫【Spring Web MVC】

  2. 关于引入问题:Spring Web MVC 是基于Servlet API构建的原始Web框架,从一开始就包含在Spring框架中。是Spring其中的一个模块,由 pom.xml 引入依赖管理

    org.springframework.boot spring-boot-starter-web

http://www.ppmy.cn/embedded/156355.html

相关文章

【大模型】ChatGPT 高效处理图片技巧使用详解

目录 一、前言 二、ChatGPT 4 图片处理介绍 2.1 ChatGPT 4 图片处理概述 2.1.1 图像识别与分类 2.1.2 图像搜索 2.1.3 图像生成 2.1.4 多模态理解 2.1.5 细粒度图像识别 2.1.6 生成式图像任务处理 2.1.7 图像与文本互动 2.2 ChatGPT 4 图片处理应用场景 三、文生图操…

YOLO-cls训练及踩坑记录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、模型训练 二、测试 三、踩坑记录 1、推理时设置的imgsz不生效 方法一: 方法二: 2、Windows下torchvision版本问题导致报错 总结 前…

JavaScript系列(39)-- Web Workers技术详解

JavaScript Web Workers技术详解 🔄 今天,让我们深入了解Web Workers技术,这是一种能够在后台线程中运行脚本的强大特性,可以避免阻塞主线程,提升Web应用的性能和响应性。 Web Workers基础概念 🌟 &#…

网络安全行业岗位职责

系统安全需求分析师 综合能力 掌握常见的IT系统安全需求 具备总结分析整体网络安全需求及子系统安全需求的能力 具有良好的沟通、团队协作和主动性思考的能力 具备良好的技术文档编制能力 专业知识 熟悉网络、终端、数据、威胁情报、态势感知、流量威胁分析等产品的技术方…

MySQL——主从同步

提醒:进行配置时,需要确保一主两从的操作系统、MySQL版本一致,否则将出现问题 环境介绍 服务器IP主服务器172.25.254.10从服务器-1172.25.254.11从服务器-2172.25.254.12 配置 # 快速配置,选择多重执行,确保版本一…

【GORM】初探gorm模型,字段标签与go案例

GORM是什么? GORM 是一个Go 语言 ORM(对象关系映射)库,它让我们可以使用结构体来操作数据库,而无需编写SQL 语句 GORM 模型与字段标签详解 在 GORM 中,模型是数据库表的抽象表示,字段标签&am…

反向代理模块1

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当于…

DeepSeek R1发布综述:开源大语言模型的推理能力新标杆

引言 2025年1月20日,人工智能公司DeepSeek-AI正式发布了全新的大语言模型DeepSeek R1和DeepSeek R1-Zero。这一重磅发布标志着开源大型语言模型(LLMs)在推理能力上的重大突破。DeepSeek R1系列不仅通过创新的强化学习技术实现了推理能力的显…