• SpringBoot3快速入门


    SpringBoot3快速入门

    准备

    知识准备

    Spring、SpringMVC、MyBatis、Maven、IDEA

    工具版本

    java17+ *
    SpringBoot:3.1.1 *
    IDEA:2021.2.1+ *
    Maven:3.6.3+ *
    Tomcat:10.0+ *
    Servlet:5.0+ *
    GraaIVM Community:22.3
    Native Build Tools:0.9.23

    springBoot简介

    SpringBoot帮我们简单、快速的创建一个独立的、生产级别的Spring应用,大多数SpringBoot应用只需要编写少量配置即可快速整合Spring平台以及第三方技术。具有简化开发、简化配置、简化整合、简化部署、简化监控、简化运维等作用。

    特性

    • 快速创建独立的Spring应用
      SSM:导包、写配置、启动运行
    • 直接嵌入Tomcat、Jetty or Undertow(无需部署war包)
    • 提供可选的starter(场景启动器),简化应用整合(重点)
      为每种场景准别一个依赖:web-starter、mybatis-starter…
    • 按需自动配置Spring以及第三方库
      如果这些场景我要使用(生效),这个场景的所有配置都会自动配置好。
    • 提供生产级特性:如监控指标、健康检查、外部化配置等
    • 无代码生成、无xml

    快速入门

    场景:浏览器发送/hello请求,返回"Hello, SpringBoot3!"

    开发流程

    官网介绍

    1、创建maven项目

    创建一个空项目

    在这里插入图片描述

    在父项目中创建模块

    在这里插入图片描述
    在这里插入图片描述

    创建完成

    在这里插入图片描述

    2、配置项目继承

    在module的pom.xml中配置项目继承spring-boot-starter-parent

    
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>3.1.1version>
    parent>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    3、导入场景
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
    dependencies>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    在这里插入图片描述

    4、创建SpringBoot主程序
    package com.louis;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    /**
     * @author XRY
     * @date 2023年07月09日11:39
     * 启动SpringBoot项目的主入口程序
     */
    @SpringBootApplication//该注解表述这是一个SpringBoot应用
    public class MainApplication {
        public static void main(String[] args) {
            SpringApplication.run(MainApplication.class, args);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    5、创建控制器(HelloController)
    package com.louis.controller;
    
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * @author XRY
     * @date 2023年07月09日11:44
     */
    //@ResponseBody用于标识一个控制器方法,可以将该方法的返回值直接作为响应报文的响应体响应到浏览器。
    //@RequestMapping注解是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法上。
    //@GetMapping是Spring4.3提供的新注解,它是一个组合注解,等价于@RequestMapping(method = RequestMethod.Get ),用于简化开发
    //@RestController:相当于@Controller+@ResponseBody————在页面显示数据
    
    //@ResponseBody
    //@Controller
    
    @RestController
    public class HelloController {
        @GetMapping("/hello")
        public String hello(){
            return "Hello, Spring Boot3";
        }
    }
    
    • 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

    在这里插入图片描述

    在这里插入图片描述

    6、SpringBoot简化部署

    jar指令的运行需要依赖maven插件支持。(重要)

    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
                <version>2.5.4version>
            plugin>
        plugins>
    build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    打包流程

    在这里插入图片描述
    在这里插入图片描述

    也可以使用mvn clean package 将项目打包成可执行的jar包(注意:在项目目录下打开终端执行,而不是在idea的terminal,并且需要先停掉当前的项目。),我们只需要将这个jar包直接上传到linux的服务器上就可以直接运行,不用安装Tomcat。

    在这里插入图片描述

    按照上图中的提示直接打开jar包所在的目录,在目录位置输入cmd运行。在命令行窗口输入java -jar boot3-01-1.0-SNAPSHOT.jar运行。

    在这里插入图片描述
    在这里插入图片描述

    注意:想要修改端口号等配置,只需要在jar包同级目录下新建一个application.properties文件,在其中写入相应的内容即可。
    在这里插入图片描述

    特性小结
    1、简化整合

    只需要导入相关的场景,项目机会拥有相关的功能。即场景启动器。默认支持的所有场景

    在这里插入图片描述

    • 官方提供的场景会命名为:spring-boot-starter-*
    • 第三方提供的场景会命名为:*-spring-boot=starter
    2、简化开发

    无需编写任何配置,直接开发业务。

    3、简化配置

    想要更改文中的许多配置,只需要在当前文件中(resources)下添加一个application.properties文件,并写入相关配置即可,文档位置。如:定义端口

    server.port=999
    
    • 1

    在这里插入图片描述

    4、简化部署

    打包为为可执行的jar包,只需要Linux服务器上包含java环境即可。

    5、简化运维

    只需要修改配置(外部放一个application.properties)文件、监控、健康检查。


    Spring Initializr创建导向

    新建模块

    在这里插入图片描述

    点击next

    在这里插入图片描述

    左边通过选框选择场景,在右边我们可以看到我们选择的内容。

    在这里插入图片描述

    通过这种方式创建的项目,已经包含了核心的starter。

    springBoot有一个默认规则:只扫描主程序所在的包及其子包,放在其他位置没有作用。

    创建HelloController
    package com.louis.controller;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * @author XRY
     * @date 2023年07月09日15:03
     */
    @RestController
    public class HelloController {
        @GetMapping("/hello")
        public String hello(){
            return "Hello Louie";
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    项目结构

    在这里插入图片描述

    测试

    在这里插入图片描述

  • 相关阅读:
    Java从入门到架构师__常用工具&常用API&本地缓存&RestTemplate
    java计算机毕业设计校园闲置物品交易网站源程序+mysql+系统+lw文档+远程调试
    java毕业设计-基于springboot+vue的在线婚纱定制系统设计与实现,基于java的在线婚纱摄影预定系统,基于web的婚纱影楼管理系统设计,基于web婚纱影楼管理系统设计(附源码和配套资料)
    夯实基础才是硬道理--拍案叫绝的计算机经典
    ctfshow—web—一切看起来都那么合情合理
    Java——jdk8新特性、Lambda表达式、Stream流
    # Kafka_深入探秘者(7):kafka 稳定性
    Linux环境搭建
    拓端tecdat|R语言提取时间序列的周期性成分应用EMD,小波滤波器,Baxter过滤器等
    苹果手机内存不够白屏
  • 原文地址:https://blog.csdn.net/xry12354/article/details/132746551