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简介

SpringBoot3快速入门_第1张图片

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

特性

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

快速入门

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

开发流程

官网介绍

1、创建maven项目

创建一个空项目

SpringBoot3快速入门_第2张图片

在父项目中创建模块

在这里插入图片描述
SpringBoot3快速入门_第3张图片

创建完成

SpringBoot3快速入门_第4张图片

2、配置项目继承

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


<parent>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-parentartifactId>
    <version>3.1.1version>
parent>

SpringBoot3快速入门_第5张图片

3、导入场景

<dependencies>
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-webartifactId>
    dependency>
dependencies>

在这里插入图片描述
SpringBoot3快速入门_第6张图片

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);
    }
}
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";
    }
}

SpringBoot3快速入门_第7张图片

在这里插入图片描述

6、SpringBoot简化部署

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


<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
            <version>2.5.4version>
        plugin>
    plugins>
build>
打包流程

SpringBoot3快速入门_第8张图片
SpringBoot3快速入门_第9张图片

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

SpringBoot3快速入门_第10张图片

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

SpringBoot3快速入门_第11张图片
在这里插入图片描述

注意:想要修改端口号等配置,只需要在jar包同级目录下新建一个application.properties文件,在其中写入相应的内容即可。
SpringBoot3快速入门_第12张图片

特性小结
1、简化整合

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

SpringBoot3快速入门_第13张图片

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

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

3、简化配置

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

server.port=999

SpringBoot3快速入门_第14张图片

4、简化部署

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

5、简化运维

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


Spring Initializr创建导向

新建模块

SpringBoot3快速入门_第15张图片

点击next

SpringBoot3快速入门_第16张图片

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

SpringBoot3快速入门_第17张图片

通过这种方式创建的项目,已经包含了核心的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";
    }
}

项目结构

SpringBoot3快速入门_第18张图片

测试

在这里插入图片描述

你可能感兴趣的:(SpringBoot3,java,spring,boot)