01. SpringBoot4零基础入门实战
需要学习基础吗?
需要但是不多。JavaSE 稍微看下就可以了,了解数据类型、类和对象、List、Map 等数据结构即可
安装软件
- JDK21:https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html
- Maven:https://maven.apache.org/download.cgi
- MySQL:https://dev.mysql.com/downloads/installer/
- IDEA:https://www.jetbrains.com/idea/download/other/#releases-2024
MySQL 的密码设置为 123456
maven 的 settings.xml 配置:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
公众号:程序员青戈,回复:软件
新建项目

选择 web、jpa、mysql、lombok

编码配置

配置 maven

精简项目


新建数据库
查看本地的 Mysql 服务

IDEA 连接 MySQL 服务

springboot_vue
配置 application.yml
数据库
# 配置数据库
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# springboot_vue 是你项目的数据库名称 可以替换
url: jdbc:mysql://localhost:3306/springboot_vue?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root # 数据库账号
password: 123456 # 数据库密码
输入 http://localhost:8080/ 访问

端口
server:
port: 9090 # 项目端口号
写一个测试接口
@RestController
public class WebController {
@GetMapping("/")
public String index() {
return "Hello 青哥哥";
}
}
封装统一返回结果
package com.example.common;
import lombok.Data;
@Data
public class Result {
private static final String SUCCESS_CODE = "200";
private static final String ERROR_CODE = "500";
private String code;
private String msg;
private Object data;
public static Result success() {
Result result = new Result();
result.setCode(SUCCESS_CODE);
result.setMsg("请求成功");
return result;
}
public static Result success(Object data) {
Result result = success();
result.setData(data);
return result;
}
public static Result error(String msg) {
Result result = new Result();
result.setCode(ERROR_CODE);
result.setMsg(msg);
return result;
}
public static Result error(String code, String msg) {
Result result = error(msg);
result.setCode(code);
return result;
}
}
配置 Lombok(非常重要)

连接数据库查询数据
创建数据库表 admin
CREATE TABLE `admin` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '账号',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '密码',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名称',
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '头像',
`role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '角色',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `username` (`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='管理员信息';
orm 框架 jpa 配置
# 配置 jap方言
jpa:
database-platform: org.hibernate.dialect.MySQLDialect
hibernate:
ddl-auto: none # 手动创建数据库
show-sql: true
打印 sql 配置
# 美化打印sql
jpa:
database-platform: org.hibernate.dialect.MySQLDialect
hibernate:
ddl-auto: none # 手动创建数据库
show-sql: true
分层 controller、service、repository
@RestController
@RequestMapping("/admin")
public class AdminController {
}
service
@Service
public class AdminService {
}
repository
@Repository // 标记为一个仓库组件
public interface AdminRepository extends JpaRepository<Admin, Integer> {
}
测试接口
http://localhost:9090/admin/findAll
配置 swagger 接口文档
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.8.5</version>
</dependency>
核心配置
package com.example.common;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Swagger文档配置
*/
@Configuration
public class SwaggerConfig {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info()
.title("Spring Boot 4 API接口文档")
.version("1.0.0")
.description("本文档涵盖了所有模块的接口说明")
.contact(new Contact().name("程序员青戈").url("https://codenice.cn")));
}
}