创建一个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.0 判断是哪种类型](#5.0 判断是哪种类型)
    • [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 注解:对应了路径

    //路径为【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

相关推荐
陈平安Java and C2 小时前
MyBatisPlus
java
秋野酱2 小时前
如何在 Spring Boot 中实现自定义属性
java·数据库·spring boot
安的列斯凯奇3 小时前
SpringBoot篇 单元测试 理论篇
spring boot·后端·单元测试
Bunny02123 小时前
SpringMVC笔记
java·redis·笔记
架构文摘JGWZ3 小时前
FastJson很快,有什么用?
后端·学习
BinaryBardC3 小时前
Swift语言的网络编程
开发语言·后端·golang
feng_blog66883 小时前
【docker-1】快速入门docker
java·docker·eureka
邓熙榆3 小时前
Haskell语言的正则表达式
开发语言·后端·golang
枫叶落雨2225 小时前
04JavaWeb——Maven-SpringBootWeb入门
java·maven
m0_748232395 小时前
SpringMVC新版本踩坑[已解决]
java