【Spring Boot入门】

目录

基础篇

SpringBoot

Spring的缺点:

SpringBoot的优点:

Springboot3 版本要求

1、SpringBoot入门案例

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

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 属性配置

3.2 不同配置文件优先级

3.3 解决yaml和yml文件没提示​编辑

3.4 配置文件书写格式① yaml语法规则

3.5 读取yaml配置文件的数据

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

3.7 封装数据

4、整合第三方技术

4.1 整合Junit

4.2 整合MyBatis

4.4 整合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 前后端协议联调


基础篇

SpringBoot

Spring的缺点:

Spring是一个非常优秀的轻量级框架,以IOC(控制反转)和AOP(面向切面)为思想内核,极大简化了JAVA企业级项目的开发。

虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。使用Spring进行项目开发需要在配置文件中写很多代码,所有这些配置都代表了开发时的损耗。

除此之外,Spring项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。比如Spring5.0以上只能使用Junit4.12以上的版本。

总结起来,Spring的缺点就是:

  • 配置过于繁琐。
  • 引入的依赖过多,版本控制复杂。


什么是SpringBoot?


SpringBoot对Spring的缺点进行改善和优化,基于约定大于配置的思想,简化了Spring的开发,所谓简化是指简化了Spring中大量的配置文件和繁琐的依赖引入。所以SpringBoot是一个服务于框架的框架,它不是对Spring功能的增强,而是提供了一种快速使用Spring框架的方式

SpringBoot的优点:
  • 配置简单
  • 依赖引入简单
  • 提供了一些大型项目的非功能特性,如嵌入式服务器,安全指标,健康监测等。

自动配置

SpringBoot项目自动提供最优配置,同时可以修改默认值满足特定的要求。

起步依赖

SpringBoot的依赖是基于功能的,而不是普通项目的依赖是基于JAR包的。SpringBoot将完成一个功能所需要的所有坐标打包到一起,并完成了版本适配,我们在使用某功能时只需要引入一个依赖即可。

Springboot3 版本要求


然使用SpringBoot是需要一定版本要求的:

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、付费专栏及课程。

余额充值