• SpringBoot笔记


    在这里插入图片描述

    永不放弃有两个原则,第一个原则是永不放弃,第二个原则就是:当你想放弃时回头看第一个原则。

    哈哈 最近看了一本SpringBoot趣味实战课,于是便做了笔记。

    刘水镜老师博客:https://blog.csdn.net/liushuijinger

    一、开篇


    我们学习知识跟大侠修炼武功类似,有人天赋异禀骨骼清奇是天生的练武奇才(学神,如 萧峰);

    有人天资平平,但通过后天的努力孜孜不倦,终成一代大侠(学霸,如 郭靖);

    还有人一路奇遇不断,屡屡遭到高人指点,然后成为绝世高手(外挂玩家,如 虚竹)。


    从他们身上可以到一些相同的特质:

    • 高人指点
    • 勤学苦练
    • 不断实战

    读万卷书,行万里路,阅人无数,名师指路,自己开悟。这是对学习高度的抽象和概括,看似是五个部分,其实可以简单看成两个阶段: 读万卷书,行万里路,阅人无数,名师指路自己开悟

    • 第一个阶段向别人学习,如 B站大学、GitHub、博客论坛等资源。
    • 第二阶段是在你所研究的领域已经没有现成的经验可以借鉴,也没有人可以给你指路,需要根据自己以往所学的东西去创造、创新(独孤求败、张三丰级别)。

    学习金字塔

    在这里插入图片描述


    二、SpringBoot 介绍


    SpringBoot 可以轻松创建独立的、基于Sring的生产级应用程序,而这只需要一些Spring很少的配置。SpringBoot 是现在最主流的开发框架,它提供一站式的开发体验,大幅度提高我们的开发效率。

    官网:https://spring.io/projects/spring-boot

    在这里插入图片描述

    SpringBoot功能:

    • 创建独立的Spring应用程序。

    • 内嵌web容器Tomcat、Jetty或Undertow(无需部署war包,通过打好的jar包就可以直接运行应用程序)。

    • 提供一站式的 “starter” 依赖,以简化Maven配置(需要整合什么框架,直接导对应框架的starter依赖即可)。

    • 尽可能自动配置Spring和第三方库(除非特殊情况,否则几乎不需要我们进行配置)。

    • 提供生产就绪功能,如:指标、运动状况检查和外部化配置。

    • 没有代码生成,也没有XML配置要求。


    三、创建SpringBoot项目


    1、首先点击 【spring initializr】,然后配置项目使用的jdk环境,最后点击【next】。
    在这里插入图片描述


    2、填写项目的配置信息。
    在这里插入图片描述


    3、选择依赖,勾选web支持,最后点【next】。
    在这里插入图片描述


    4、配置项目名称和路径。
    在这里插入图片描述


    5、编写一个HelloController类。
    在这里插入图片描述

    package com.baidou.controller;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * 接收请求并将数据响应到页面
     * @author 白豆五
     * @version 2022/8/24 18:05
     * @since JDK8
     */
    @RestController
    public class HelloController {
    
        @GetMapping("/hello")
        public String hello(){
            return "Hello World!";
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    6、启动springboot项目,跟之前运行Java程序一样,快捷键:shift+f10
    在这里插入图片描述

    项目启动成功后是这个样子的:

    在这里插入图片描述


    7、用浏览器访问:http://localhost:8080/hello。

    在这里插入图片描述
    ok到这里你已经学会SpringBoot项目的基本创建和运行流程啦😊


    四、SpringBoot项目结构


    因为我们通过Maven方式构建,所以里面就是一个标准的Maven项目结构(约定大于配置)。

    SpringBoot项目结构如下:

    springboot01_quickstart   //工程根目录
    |---target                //工程编译打包输出目录
    |---.gitignore            //上传Git的时候忽略一些文件和目录
    |---pom.xml               //管理Maven依赖
    +---src   
       +---main              //项目主目录
       |   +---java          //Java源码文件目录
       |   |   \---com
       |   |       \---baidou
       |   |           |---controller
       |   |           |---service
       |   |           |---dao
       |   |           |---pojo
       |   |           |---config
       |   |           |---...
       |   |           \---SpringBootDemoApplication //SpringBoot主类
       |   | 
       |   \---resources         //资源文件目录
       |       |---static        //放静态资源文件,如 js、css等
       |       |---templates     //页面模板,如 Thymeleaf、FreeMarker等
       |       \---application.yml    //SpringBoot核心配置文件
       | 
       \---test       //单元测试目录
           +---java   //单元测试Java源码文件目录
           |   \---com
           |       \---baidou
           |           |---controller
           |           |---service
           |           |---dao
           |           |---pojo
           |           |---config
           |           |---...
           |           \---SpringBootDemoApplicationTests //SpringBoot测试主类
           \---resources         //单元测试资源文件目录   
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • target目录:Maven打包后会将编译后的.class文件和依赖的jar包等资源文件放到这个目录里。
    • pom.xml文件:用来配置依赖的jar包,帮我们管理jar包。
    • src目录:存放Java源码程序、程序配置文件、资源文件等,是开发用到的主目录。
    • .gitignore文件:用来配置一些不需要通过Git进行版本控制的文件或目录。

    扩展:使用tree命名生成目录树:

    • 生成目录结构:tree

    • 生成目录结构(包括文件):tree /f

  • 相关阅读:
    LeetCode(Python)—— 杨辉三角(简单)
    力扣第239题 c++滑动窗口经典题 单调队列
    [晕事]今天做了件晕事30, perf
    【数据结构】——排序
    Mybatis详解
    MongoDB聚合运算符:$bottom
    spring5.0 源码解析(day04)registerBeanPostProcessors(beanFactory);
    kafka消息重复消费解决方案
    虹科示波器 | 汽车免拆检修 | 2010款奥迪A5车怠速时发动机偶尔自动熄火
    MySQL面试题全集,面试必看
  • 原文地址:https://blog.csdn.net/qq_46921028/article/details/126511661