当前位置: 首页 > news >正文

创建一个Spring Boot项目

文章目录

  • 一、如何创建一个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.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
    • 因为我们是按照Spring Boot的模版来创建项目,所以会给我们添加一些实际上没什么用的配置文件,直接删掉即可。
  2. .idea:代表了IDEA相关的配置
  3. src:代码
    • main
      • java
        • com:放置Java源代码
        • resources:资源目录,主要是配置相关的代码
          • static:主要放置静态文件
          • templates:主要放置模版
          • application.properties:Spring Boot 项目的配置文件
    • test:放置了开发人员的测试代码,用来测试某一个文件是否有bug。注意,测试代码的目录结构和【java】里是一致的,并且我们测试完后也要让他们保持一致,方便后续寻找代码
<!-- 默认引入的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 引入依赖管理
<!-- Spring MVC 项目的依赖 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
http://www.lryc.cn/news/349253.html

相关文章:

  • ansible -playbook运维工具、语法、数据结构、命令用法、触发器、角色
  • web前端之sass中的颜色函数、active按钮激活、hover鼠标悬浮、disabled禁用、scss循环、css
  • 交通地理信息系统实习教程(二)
  • Shell脚本——批量清理Kubernetes集群中Evicted状态的pod
  • (深度估计学习)Win11复现DepthFM
  • cocos creator 帧率60 不生效meta50 能刷新到90
  • 探讨 cs2019 c++ 的STL 库中的模板 conjunction 与 disjunction
  • 【核弹】我的第一款IDEA插件
  • 【工作篇】软件工程师的知识基础(持续更新)
  • 知识付费系统开源方案,教育机构如何利用朋友圈做转介绍?
  • c++20 std::reinterpret_cast、std::bit_cast、std::static_cast
  • PHP单独项目启动演示
  • vscode 通过ssh 远程执行ipynb +可以切换conda env
  • ASP.NET银行大厅自助信息系统的开发与实现
  • 学习Vue3中reactive
  • 【Transformer-BEV编码(10)】CVPR2021 PYVA 第一个明确提到 cross-attention decoder可用于视图转BEV
  • nestJs中跨库查询
  • Java编程思想
  • 数组(Java)
  • 接口自动化测试框架搭建
  • (四十二)第 6 章 树和二叉树(树的二叉链表(孩子-兄弟)存储)
  • 测试萌新Python学习(五)接口自动化测试requests
  • Python 机器学习 基础 之 监督学习 [朴素贝叶斯分类器] / [决策树] 算法 的简单说明 / [graphviz] 绘制决策树
  • QT日志类SimpleQtLogger的简单记录
  • 设计模式:观察者模式
  • ICode国际青少年编程竞赛- Python-5级训练场-带参数函数
  • 运维别卷系列 - 云原生监控平台 之 02.prometheus exporter 实践
  • OSPF基本配置
  • HIVE大数据平台SQL优化分享
  • JS算法-十大排序算法(上)