SpringBoot核心原理与实践

SpringBoot核心原理与实践_第1张图片

第一章、SpringBoot简介

1、入门案例

SpringBoot核心原理与实践_第2张图片

SpringBoot核心原理与实践_第3张图片

SpringBoot核心原理与实践_第4张图片

SpringBoot核心原理与实践_第5张图片

2、官网创建压缩包程序

SpringBoot核心原理与实践_第6张图片

注意使用的版本pom文件中java --> 1.8、 springboot --> 2.5.0

3、SpringBoot快速启动

SpringBoot核心原理与实践_第7张图片

SpringBoot核心原理与实践_第8张图片

运行程序--找引导类

换技术、加技术--加starter

第二章、基础配置

1、配置文件格式

《1、端口号配置》

SpringBoot核心原理与实践_第9张图片

《2、将目录文件添加到配置文件识别中》

SpringBoot核心原理与实践_第10张图片

配置文件加载顺序:application.properties > application.yml > application.yaml

 

2、yaml

《1、语法格式》

SpringBoot核心原理与实践_第11张图片

语法规则:------------一般根据他的语法提示就好了-----------

缩进空格多少表示层级关系;数据前面要有空格

logging:
  level:
    root: warn

数组数据

SpringBoot核心原理与实践_第12张图片

《2、数据读取三方式》

1、直接读取----直接定义Value及变量

    @Value("${server.port}")
    private int port;

    @Value("${enterprise.subject[1]}")
    private String subject__01;

SpringBoot核心原理与实践_第13张图片

2、封装对象读取----定义对象获取数据

将所有数据都加载到对象中,使用属性来获取数据

 @Autowired
    private Environment environment; //使用独立的对象。将所有数据加载进去,直接使用对象来读取具体的数据
    
    @GetMapping("{id}")
    public String getId(@PathVariable Integer id) {
        System.out.println("id---->" + id);

        System.out.println(environment.getProperty("lession"));
        System.out.println(environment.getProperty("server.port"));
        System.out.println(environment.getProperty("enterprise.subject[2]"));
        return "{'module':'kaonijiwa'}";
    }

SpringBoot核心原理与实践_第14张图片 

3、封装实体类读取----定义实体类获取数据  --将数据转换为数据对象

针对数据定义实体类

@Component//加载为bean让spring识别
@ConfigurationProperties(prefix = "enterprise") //从配置文件中获取属性 使之与本实体类属性对应
public class Enterprise {
    private String name;
    private Integer age;
    private String tel;
    private String[] subject;

//接下来还要setter & getter

直接自动装配 获取实体类对象

 @Autowired
    private Enterprise enterprise;

对象打印即可获取数据

SpringBoot核心原理与实践_第15张图片

3、多环境启动

注意:

1、package之前先从clean!

2、设置中encoding全部设置为utf-8

《1、yaml配置》

#三个横线 --- 代表一个文件
#设置启用的环境
spring:
  profiles:
    active: test
---

#开发
spring:
  profiles: dev
server:
  port: 90

---
#生产
spring:
  profiles: pro
server:
  port: 91

---

#测试
spring:
  profiles: test
server:
  port: 92

文件配置(麻烦--了解)

SpringBoot核心原理与实践_第16张图片

《2、多环境命令行启动参数设置》

按照指定环境启动    开发--dev 、 生产--pro 、 测试--test

格式:
java - jar jar包名 --spring.profiles.active=启动参数
举例:
java -jar /Users/wangjia/Desktop/CS/Spring/SpringBoot/target/springboot_01-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev 

指定端口号:  跟在后面写就行了

--server.port=xxx

命令行优先级高于配置文件。

所以可以使用命令行设置参数临时覆盖配置参数。

《3、多环境开发兼容问题》

maven、SpringBoot均要设置多环境。以maven为主,SpringBoot配置为辅。

SpringBoot核心原理与实践_第17张图片

 SpringBoot核心原理与实践_第18张图片

3、clean -> package

SpringBoot核心原理与实践_第19张图片

4、配置文件分类

SpringBoot核心原理与实践_第20张图片

第三章、整合第三方技术

1、SpringBoot整合JUnit

SpringBoot核心原理与实践_第21张图片

对于设置运行器、加载环境,每一次都是一样的,只有环境名称不一样,所以直接使用

@SpringBootTest代替二者。

@SpringBootTest //= 运行器@RunWith() + 加载启动类
//此处没有再设置启动类 是因为 测试类在启动类SpringBootApplication.class的包或者子包内
class Springboot01ApplicationTests {
    @Autowired
    private BookService bookService;//自动装配测试类对象
    @Test
    public void save(){
        bookService.save();
    }
}
//其他的都不需要设置了

2、SpringBoot整合Mybatis

前置知识:

SpringBoot核心原理与实践_第22张图片

 SpringBoot核心原理与实践_第23张图片

----在创建新模块或项目要勾选SQL、Mybatis

SpringBoot核心原理与实践_第24张图片

《1、写实体类》

domain.Book

public class Book {
    private Integer id;
    private String name;
    private String type;

    public String toString() {}
    getter & setter

}

《2、写数据层注解开发》

没有实体对象,在采用自动代理时要使用@Mapper标示--定义数据层接口

dao.XXXDao

@Mapper //只有一个接口,在测试时没有对象。采用了自动代理,要标注一下!
 public interface BookDao {
    @Select("select * from tbl_book where id = #{id}")
    public Book getById(Integer id);
}

《3、写数据库登录信息配置文件》

在文件application.yml中写配置

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: wbj731290
    type: com.alibaba.druid.pool.DruidDataSource
#指定druid数据源 同时记得pom要添加坐标依赖

3、SpringBoot整合SSM

基本点:

--config文件夹下所有配置类都不需要了

--Dao层自动代理,要添加@Mapper

--数据库登录信息要写在yml文件中

--由于是整合了前后端 web 要选、Mybatis要选、mysql要选

SpringBoot核心原理与实践_第25张图片

 SpringBoot核心原理与实践_第26张图片

你可能感兴趣的:(SpringBoot,spring,boot,java,后端)