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

<!--所有springBoot项目都必须继承自spring-boot-starter-parent-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.1.1</version>
</parent>

在这里插入图片描述

3、导入场景
<!--如:开发web功能需要的依赖-->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

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

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

在这里插入图片描述

在这里插入图片描述

6、SpringBoot简化部署

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

<!--SpringBoot应用打包插件-->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.5.4</version>
        </plugin>
    </plugins>
</build>
打包流程

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

也可以使用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

在这里插入图片描述

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";
    }
}
项目结构

在这里插入图片描述

测试

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值