SpringBoot2:基础篇(黑马程序员:P1~P53)

本文详细介绍了SpringBoot的基础入门,包括通过IDEA、官网和手工方式创建项目,解析了SpringBoot的核心特性如内嵌Tomcat、自动配置等。此外,讲解了配置文件的使用,包括yaml语法和读取配置的方法,并展示了如何整合Junit和MyBatis。最后,提到了SSMP整合案例及异常处理等高级话题。
摘要由CSDN通过智能技术生成

基础篇

1、SpringBoot入门案例

1.1 IDEA联网版

官方URL https://start.spring.io
注:如果创建不了,更改URL https://start.aliyun.com

① 创建新模块

在这里插入图片描述

② 选择当前模块需要使用的技术集

在这里插入图片描述

③ 开发控制器类

在这里插入图片描述

④ 运行自动生成的Application类

在这里插入图片描述

⑤ 运行测试

在这里插入图片描述

注:Spring程序与SpringBoot程序对比

在这里插入图片描述

1.2 官网创建版

官网链接
在这里插入图片描述

1.3 手工制作版

① 创建新模块

在这里插入图片描述

② 导入坐标

在这里插入图片描述

③ 制作引导类

在这里插入图片描述

④ 运行测试

在这里插入图片描述

1.4 隐藏指定文件/文件夹

在这里插入图片描述

在这里插入图片描述

2、入门案例解析

2.1 SpringBoot简介

在这里插入图片描述

2.2 parent

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

在这里插入图片描述

2.3 starter

在这里插入图片描述

2.4 parent和starter对比

在这里插入图片描述

2.5 引导类

在这里插入图片描述

2.6 内嵌tomcat

在这里插入图片描述

在这里插入图片描述

2.7 辅助功能

在这里插入图片描述

在这里插入图片描述

2.8 内置服务器

在这里插入图片描述

3、基础配置

3.1 属性配置

在这里插入图片描述
springboot Application文档
在这里插入图片描述

3.2 不同配置文件优先级

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

3.3 解决yaml和yml文件没提示

在这里插入图片描述

3.4 配置文件书写格式

① yaml语法规则

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

② 字面值表示方式

在这里插入图片描述

③ 数组表示方式

在这里插入图片描述

country: china
province: guangdo
city: shanwei
area: chengqu

port: 8080

party: true

birthday: 2000-07-29

user1:
  name: zyy
  age: 22

a:
  b:
    c:
      d: 123

likes1:
  - game
  - music
  - sleep


likes2: [ game,music,sleep ]

users1:
  - name: zyy
    age: 23
  - name: zqh
    age: 24

users2:
  - name: zyy
    age: 23

  - name: zqh
    age: 24

users3: [ { name: zyy,age: 23 },{ name: zqh,age: 24 } ]


baseDir: c:\windows

# 使用${属性名} 引用数据
temoDir1: ${baseDir}\temp

# 使用引号包裹的字符串,其中的转义字符可以生效
temoDir2: "${baseDir}\temp \t1 \t2 \t3"

3.5 读取yaml配置文件的数据

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

@RestController
@RequestMapping("/books")
public class BookController {

    //读取yaml数据中的单一数据
    @Value("${country}")
    private String country;

    @Value("${user1.name}")
    private String name;

    @Value("${likes1[1]}")
    private String likes1;

    @Value("${users1[0].age}")
    private int age;

    @Value("${temoDir1}")
    private String temoDir1;

    @Value("${temoDir2}")
    private String temoDir2;

    @GetMapping
    public String getById() {
        //country ====== china
        System.out.println("country ====== " + country);

        //name ====== zyy
        System.out.println("name ====== " + name);

        //like1 ====== music
        System.out.println("like1 ====== " + likes1);

        //age ====== 23
        System.out.println("age ====== " + age);

        //temoDir ====== c:\windows\temp
        System.out.println("temoDir1 ====== " + temoDir1);

        //temoDir2 ====== c:\windows	emp 	1 	2 	3
        System.out.println("temoDir2 ====== " + temoDir2);
        return "SpringBoot is running...";
    }
}

3.6 解决读取yaml配置文件数据的痛点

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

@RestController
@RequestMapping("/books")
public class BookController {

    //读取yaml数据中的单一数据
    //使用自动装配将所有的数据封装到一个对象Environment中
    @Autowired
    private Environment env;
    

    @GetMapping
    public String getById() {
        //china
        System.out.println(env.getProperty("country"));
        //zyy
        System.out.println(env.getProperty("user1.name"));

        return "SpringBoot is running...";
    }
}

3.7 封装数据

在这里插入图片描述

// 1、定义数据模型封装yaml文件中对应的数据
// 2、定义为spring管控的bean
@Component
// 3、指定加载的数据
@ConfigurationProperties(prefix = "datasource")
public class MyDataSource {

    private String driver;
    private String url;
    private String username;
    private String password;

    public String getDriver() {
        return driver;
    }

    public void setDriver(String driver) {
        this.driver = driver;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "MyDataSource{" +
                "driver='" + driver + '\'' +
                ", url='" + url + '\'' +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

在这里插入图片描述

4、整合第三方技术

4.1 整合Junit

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

4.2 整合MyBatis

① 创建新模块

在这里插入图片描述

② 选择当前模块需要使用的技术集

在这里插入图片描述

③ 设置数据源参数

在这里插入图片描述

④ 定义数据层接口与映射配置

在这里插入图片描述

⑤ 运行测试

在这里插入图片描述

4.3 整合MyBatis常见问题

在这里插入图片描述

4.4 整合MyBatis-Plus

① 手动添加SpringBoot整合MyBatis-Plus的坐标

在这里插入图片描述

② 定义数据层接口与映射配置

在这里插入图片描述

③ 设置相关的配置文件

在这里插入图片描述

4.5 整合Druid

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5、SSMP整合案例制作

5.1 导入lombok

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

5.2 数据库id自增

在这里插入图片描述

5.3 开启日志

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

5.4 配置分页插件

在这里插入图片描述

在这里插入图片描述

5.5 条件查询功能

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

5.6 业务层快速开发

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

5.7 数据统一

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

5.8 异常信息处理

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

5.9 前后端协议联调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值