• 创建一个Spring Boot项目


    一、如何创建一个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】里是一致的,并且我们测试完后也要让他们保持一致,方便后续寻找代码
    
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-testartifactId>
        <scope>testscope>
    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.0 判断是哪种类型

    1. 我们创建的项目是哪一种

      • 当前我们创建的项目类型,并不是那种“三选一”,有明显边界的关系,而是“即是……也是……”的关系
      • 所以没法具体说是哪个项目,我们一般会说该项目是Spring进行开发的,此时这个Spring指的是整个家族
        在这里插入图片描述
    2. 如何查看当前注解是哪个提供的?
      在这里插入图片描述

    3. 关于他们提供的功能:彼此之间是独立的
      loC对象没有被正确管理,并不影响RequestMapping的运行,路由映射依旧是可以使用的,因为Tomcat已经启动了。
      在这里插入图片描述

    4. 如何查看当前注解是哪个提供的?
      在这里插入图片描述

    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 引入依赖管理
    
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-webartifactId>
    dependency>
    
  • 相关阅读:
    MySQL高级语句(第一部分)
    PHP MySQL 插入数据
    Facebook广告账户被封?这份防封及申诉指南收好
    [附源码]java毕业设计个性化新闻推荐系统
    CSP赛前复习总结
    Java开发者的Python快速进修指南:掌握T检验
    msm8953 LCD移植详解
    NCP81239MNTXG 开关降压/升压控制器,USB 功率传递和 Type-C 应用
    Golang学习:基础知识篇(三)—— Map(集合)
    C和指针 第14章 预处理器 14.4 文件包含
  • 原文地址:https://blog.csdn.net/wuweixiaoyue/article/details/138565044