Springboot笔记

SpringBoot创建

starter:减少依赖配置

parent:减少依赖冲突

内嵌Tomcat服务器

1. 内嵌Tomcat服务器是SpringBoot辅助功能之一
2. 内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理
3. 变更内嵌服务器思想是去除现有服务器,添加全新的服务器

基础配置

SpringBoot内置属性查询

application.properties

server.port=80

application.yml(主流)、application.yaml,冒号后面要有空格

server:

        port: 80

加载顺序:application.properties >  application.yml >  application.yaml

配置文件没有代码提示

File -> Project Structure  配置如下图,将项目的yml、yaml等文件添加进入

yaml语法规则

  数组表示方式:在属性名书写位置的下方使用减号作为数据开始符号,每行书写一个数据,减号与数据间空格分隔

 配置数据读取

// 单个导入
@Value("${server.port}")
private int port;

// 封装全部数据到Environment对象
@Autowired
private Environment env;

public void test() {
    env.getProperty("server.port");
}

整合Mybatis

 配置数据源参数

spring:

        datasource:

                driver-class-name: com.mysql.cj.jdbc.Driver

                url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC

                username: root

                password: root

SpringBoot版本低于2.4.3(不含),Mysql驱动版本大于8.0时

需要在url连接串中配置时区serverTimezone=UTC

整合Mybatis-Plus

<dependency>

        <groupId>com.baomidou</groupId>

        <artifactId>mybatis-plus-boot-starter</artifactId>

        <version>3.4.3</version>

</dependency>

继承BaseMapper

@Mapper 
public interface UserDao extends BaseMapper<User> {
}

SSMP开发步骤

P11 REST风格简介

P13 RESTful入门案例

 

 

P14 RESTful快速开发

P23 yaml文件中的变量引用

P26 SpringBoot整合JUnit

  1. 导入测试对应的starter
  2. 测试类使用@SrpingBootTest修饰
  3. 使用自动装配的形式添加要测试的对象

测试类如果存在于引导类所在包或子包中无需指定引导类,否则需要通过classes属性执行引导类

P28 SpringBoot整合Mybatis

P30 SpringBoot整合MybatisPlus

P31 SpringBoot整合Druid

P54 工程打包与运行

P57 临时属性

 

P59 配置文件4级分类

P60 自定义配置文件

P61 多环境开发

单文件版:

 多文件版:

 properties:

 多环境分组管理

P65 多环境开发控制

 

P66 日志基本操作

P69 文件记录日志

P70 手工启动热部署

重启(Restart):自定义开发代码,包含类、页面、配置文件等,通过restart类加载器加载

重载(Reload):jar包,通过base类加载器加载

P71 自动启动热部署

 

 激活方式:Idea失去焦点5秒后启动热部署

P72 热部署范围配置

P73 关闭热部署范围

P74 第三方Bean属性绑定

P75 松散绑定

P76 常用计量单位应用

public class ServerConfig {
    @DurationUnit(ChronoUnit.MINUTES)
    private Duration serverTimeOut;

    @DataSizeUnit(DataUnit.MEGABYTES)
    private DataSize dataSize;
}

P77 bean属性校验

1、添加JSR303规范坐标与Hibernate校验框架对应坐标

<dependency>
    <groupId>javax.validation</groupid>
    <artifactId>validation-api</artifactId>
</dependency>

<dependency>
    <groupId>org.hibernate.validator</groupid>
    <artifactId>hibernate-validator</artifactId>
</dependency>

2、开启校验功能、设置校验规则

@Component
@Data
@ConfigurationProperties(prefix = "servers")
@Validated // 开启校验功能
public class ServerConfig {
    @Max(value = 400, message = "最大值为400") // 设置校验规则
    private int port;

}

P79 加载测试专用属性

通过properties和args参数设置测试专用属性

@SpringBootTest(properties = {"test.prop=testValue1"}, args = {"--test.prop=testValue2"})
public class PropertiesAndArgsTest {
    @Value("${test.prop}")
    private String msg;

    @Test
    void testProperties() {
        System.out.println(msg);
    }
}

P80 加载测试专用配置

通过import注解加载测试专用配置

@SpringBootTest
@Import(MsgConfig.class)
public class ConfigurationTest {
    @Autowired
    private String msg;

    @Test
    void testProperties() {
        System.out.println(msg);
    }
}

P81 测试类中启动WEB环境

webEnviroment 可选值

SpringBootTest.WebEnviroment.MOCK

SpringBootTest.WebEnviroment.DEFINED_PORT

SpringBootTest.WebEnviroment.RANDOM_PORT

SpringBootTest.WebEnviroment.NONE(默认)

@SpringBootTest(webEnviroment = SpringBootTest.WebEnviroment.RANDOM_PORT)
public class WebTest {
    @Test
    void testRandomPort() {
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值