创建 SringBoot 项目方法
- GitHub 现成代码直接拉取
- SpringBoot 官方的模板生成器 spring
- IDEA 集成
IDEA 集成 SpringBoot
前置知识
- spring 依赖注入框架,管理java 对象,集成一些其他内容
- springmvc web框架,提供接口访问,restful接口等能力
- mybatis 操作数据库orm,对 jdbc 封装
- mybatis plus 不用 sql 也可以操作 数据库
- springboot 不用自己管理spring 配置,不用整合各种框架,快速启动项目
概述
SpringBoot 是 Spring 提供的一个子项目,用于快速构建 Spring 应用程序。

而 SpringBoot 主要用于项目构建。
SpringBoot 特性:
- 起步依赖:一个 Maven 坐标,整合了完成一个功能需要的所有坐标。
- 自动配置:boot 程序启动后,一些 bean 对象自动注入ioc 容器
- 内嵌 Tomcat,Jetty(无需部署 WAR 文件)
- 外部化配置
- 不需要 xml 配置
1. 创建 SpringBoot 工程




- SpringBoot Dev Tools 热更新,有更改自动重启 java 项目
- lombok 注解工具 自动生成 getter setter
- Spring Configuration Processor 读取属性配置文件
- spring web 提供 web 访问能力
- mybatis 操作数据库
- mysql driver 驱动
pom.xml 是 maven 管理依赖的文件。
2. 连接 MySQL

整合mybatis plus
先创建一个库 schema,然后在 console 里执行 sql 初始化语句:

官网示例:
CREATE TABLE `user`
(
id BIGINT NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);
INSERT INTO `user` (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
在 pom.xml 里面添加依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.7</version>
</dependency>
然后在 application.yml 添加配置:
spring:
application:
name: user_demo
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/userdb
username: root
password: root
server:
port: 8080
在启动类添加注解:
@SpringBootApplication
@MapperScan("com.heo.user_demo.mapper")
public class UserDemoApplication {
public static void main(String[] args) {
SpringApplication.run(UserDemoApplication.class, args);
}
}
然后添加数据库模型(字段一定要和数据库表中的字段一一对应):

lombok 的一个注解,@Data 自动生成 get、set方法
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
编写 mapper:
public interface UserMapper extends BaseMapper<User> {
}
编写测试类:
@SpringBootTest
public class SampleTest {
@Resource
private UserMapper userMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assert.isTrue(5 == userList.size(), "");
userList.forEach(System.out::println);
}
}
- Resource 默认先按照 javabean 的名称注入
- Autowired 按照类型注入
这里可以引入一下 junit 依赖:junit ,用来做单元测试,当然这里使用 junit 和 junit.jupiter 都可以,但是要注意依赖和依赖包中的方法和注解对应。
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
import java.util.List;
@SpringBootTest
@RunWith(SpringRunner.class)
public class SampleTest {
@Resource
private UserMapper userMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assertions.assertEquals(5, userList.size());
userList.forEach(System.out::println);
}
}
todo: 这里后续好像有 bug O.o?

3. 定义请求处理类

package com.itheima.controller;
import org.springframework.web.bind.annotation.*;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
System.out.println("Hello World ~");
return "Hello World ~";
}
}
本文介绍了SpringBoot的基本概念,如起步依赖和自动配置,以及如何使用Maven创建SpringBoot工程和定义请求处理类。重点展示了如何利用@SpringBootApplication注解简化项目搭建。
3605

被折叠的 条评论
为什么被折叠?



