创建一个Spring Boot项目

文章目录

  • [一、如何创建一个Spring Boot项目](#一、如何创建一个Spring Boot项目)
    • [1.1 项目创建:专业版 or 社区版 or 网站创建](#1.1 项目创建:专业版 or 社区版 or 网站创建)
    • [1.2 数据配置](#1.2 数据配置)
    • [1.3 项目启动](#1.3 项目启动)
    • [1.4 代码编写](#1.4 代码编写)
  • [二、Spring Boot 项目文件介绍](#二、Spring Boot 项目文件介绍)
  • 三、Web服务器
  • 四、根据HTTP状态码解决bug
    • [4.1 404](#4.1 404)
    • [4.2 500](#4.2 500)
  • [五、Spring VS Spring Boot VS Spring Web MVC](#五、Spring VS Spring Boot VS Spring Web MVC)
    • [5.1 Spring](#5.1 Spring)
    • [5.2 Spring Boot](#5.2 Spring Boot)
    • [5.3 Spring Web MVC](#5.3 Spring Web MVC)
      • [Spring Web](#Spring Web)
      • MVC
      • [Spring 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. 启动类叫什么无所谓
  1. 项目启动的日志

1.4 代码编写

  1. @RestController 注解:表示当前的代码能够被我们的浏览器识别
  2. @RequestMapping 注解:对应了路径
java 复制代码
//路径为【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
    • 因为我们是按照Spring Boot的模版来创建项目,所以会给我们添加一些实际上没什么用的配置文件,直接删掉即可。
  2. .idea:代表了IDEA相关的配置
  3. src :代码
    • main:
      • java:
        • com:放置Java源代码
        • resources:资源目录,主要是配置相关的代码
          • static:主要放置静态文件
          • templates:主要放置模版
          • application.properties:Spring Boot 项目的配置文件
    • test:放置了开发人员的测试代码,用来测试某一个文件是否有bug。注意,测试代码的目录结构和【java】里是一致的,并且我们测试完后也要让他们保持一致,方便后续寻找代码
xml 复制代码
<!-- 默认引入的test的包,test是测试的框架 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
  1. target:编译后的class文件
  2. pom.xml:Maven 配置文件
  3. 关于文件夹的颜色 :要求颜色匹配
    • 颜色的作用:颜色表示"当前目录为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.1 Spring

  1. 概念 :是一个框架,可以简化Java开发
    • Spring 在概念上指的是"一个叫Spring的框架",即【spring framework】
    • 在企业上说的 Spring 通常指【Spring全家桶】

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 只是将他们放在一起,以便我们的使用。

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 引入依赖管理
xml 复制代码
<!-- Spring MVC 项目的依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
相关推荐
爬山算法6 分钟前
Maven(6)如何使用Maven进行项目构建?
java·maven
.生产的驴9 分钟前
Electron Vue框架环境搭建 Vue3环境搭建
java·前端·vue.js·spring boot·后端·electron·ecmascript
爱学的小涛17 分钟前
【NIO基础】基于 NIO 中的组件实现对文件的操作(文件编程),FileChannel 详解
java·开发语言·笔记·后端·nio
吹老师个人app编程教学18 分钟前
详解Java中的BIO、NIO、AIO
java·开发语言·nio
爱学的小涛18 分钟前
【NIO基础】NIO(非阻塞 I/O)和 IO(传统 I/O)的区别,以及 NIO 的三大组件详解
java·开发语言·笔记·后端·nio
北极无雪23 分钟前
Spring源码学习:SpringMVC(4)DispatcherServlet请求入口分析
java·开发语言·后端·学习·spring
琴智冰27 分钟前
SpringBoot
java·数据库·spring boot
binqian27 分钟前
【SpringSecurity】基本流程
java·spring
爱码少年28 分钟前
springboot工程中使用tcp协议
spring boot·后端·tcp/ip
《源码好优多》1 小时前
基于SpringBoot+Vue+Uniapp的植物园管理小程序系统(2024最新,源码+文档+远程部署+讲解视频等)
vue.js·spring boot·uni-app