最近几天在做2022的总结,发现2022好像被虚度了,但是也知足了,因为 “人生得一知己足矣,斯世当以同怀视之”。当然,2023还是得计划点什么。
0. 前言
SpringBoot是啥? 从本质上讲SpringBoot就是Spring,她只是在Spring的基础之上加了很多默认的约定,能够快速的开始一个SpringWeb项目。 在最近5年的项目开发中一直使用SpringBoot2这个大版本,在2022年11月24日SpringBoot官方发布了 Spring Boot 3.0 正式 GA。然后我这个本来就不优秀的Javaer的学习之路变得更加漫长了。 本文的内容其实与SpringBoot3没有太大的关系,因为到目前为止还没涉及到“3”与“2”之间的差异部分
1. 安装Idea
这个很多大佬的博客都讲过了我就不废话了。👉如何安装 IntelliJ IDEA👈
2. 新建一个Demo项目
2.0 项目初始化
在Idea的主窗口选择新建项目
选择使用Spring Initializr生成器 在右侧填写相关信息
| 填写项 | 数据 | 说明 |
|---|---|---|
| 项目名称 | s001 | 填入你喜欢的项目名字 |
| 存储位置 | ~/code/blog/ | 填入你准备存储代码的文件目录 |
| 语言 | Java | 固定 |
| 类型 | Maven | 固定 |
| 组 | com.itranlin.blog.example | 项目组 |
| 工件 | s001 | 一般为项目名的“Kebab Case”形式 |
| 包名 | com.itranlin.blog.example.s001 | 会自动生成 |
| JDK | graalvm-ce-17 | 需要选择GraalVM 17及以上的版本 |
| Java | 17 | 17及以上的版本 |
| 打包 | Jar | 固定 |
2.1 依赖包选择
目前我们为了支撑当前文档的运行使用以下固定选项即可
点击创建之后Idea 会根据我们前面填写的信息生成一个项目并打开
3. Demo的第一个接口
我们先来看看生成的这个SpringBoot项目:
3.0 项目目录
我们简单看一下生成的这些文件,
| 文件名 | 说明 |
|---|---|
| S001Application | SpringBoot的启动类 |
| application.properties | SpringBoot的配置文件 |
| S001ApplicationTests | SpringBoot单元测试的启动类 |
| pom.xml | 项目的Maven配置文件,依赖引入就在这个文件中实现的 |
| .... | 没提到文件和目录各有作用但一般情况下其并不影响整个项目的运行 |
3.1 启动类
package com.itranlin.blog.example.s001;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class S001Application {
public static void main(String[] args) {
SpringApplication.run(S001Application.class, args);
}
}
- @SpringBootApplication是Sprnig Boot项目的核心注解,主要目的是开启自动配置。后续讲解原理的时候再深入介绍。
- main方法这是一个标准的Java应用的main的方法,主要作用是作为项目启动的入口。
3.2 实现一个Hello World
3.2.0 新建HelloController类
3.2.1 实现一个接口
package com.itranlin.blog.example.s001;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author : itranlin
* @since : 2022/12/31 19:17
*/
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "Hello World, I'm itranlin";
}
}
- @RestController是@ResponseBody和@Controller的组合注解。使用它可以直接返回数据,具体原理后续文章会进行详细讲解
- @GetMapping("/hello") 定义了一个名为 /hello的接口,我们可以通过这个接口获取到return的数据
3.2.2 运行项目及访问接口
在开发环境运行项目一般情况会直接运行启动类中的main函数。
一般选择“调试 XXXXXX” 因为调试会以Debug的方式运行项目,我们可以在项目运行之后在需要的地方进行断点调试数据。
在等待项目运行完成之后我们可以看到SpringBoot内部使用tomcat在8080端口运行了这个服务。
然后我们在浏览器中输入
http://127.0.0.1:8080/hello就可以看到我们定义的接口返回的数据了。
至此我们的入门已经完成了。
4 源码地址
👉GitHub👈
5 原文地址
👉S001.使用Intellij Idea开始一个SpringBoot3的项目 (blog.next.itranlin.com)👈