一、SpringBoot的配置文件
1.1 SpringBoot配置文件类型
1.1.1 SpringBoot配置文件类型和作用
SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用 application.properties或者application.yml(application.yaml)进行配置。
SpringBoot默认会从Resources目录下加载application.properties或application.yml(application.yaml)文件。
其中,application.properties文件是键值对类型的文件,除了properties文件外,SpringBoot还可以使用yml文件进行配置,下面对yml文件进行讲解。
1.1.2 application.yml配置文件
1.1.2.1 yml配置文件简介
YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。 YML文件的扩展名可以使用.yml或者.yaml。
1.1.2.2 yml配置文件的语法
1、配置普通数据
语法: key: value
示例代码: name: haohao
2、配置对象数据
语法: key:
key1: value1
key2: value2
或者: key: {key1: value1,key2: value2}
示例代码:
注意:key1前面的空格个数不限定,
在yml语法中,相同缩进代表同一个级别
3、配置Map数据:同上面的对象写法
4、配置数组(List、Set)数据
语法: key:
- value1
- value2
或者: key: [value1,value2]
示例代码:
1.1.3 SpringBoot配置信息的查询
SpringBoot的配置文件,主要的目的就是对配置信息进行修改,但在配置时的key从哪里去查询呢?我们可以查阅SpringBoot的官方文档
常用的配置摘抄如下:
我们可以通过配置application.poperties 或者 application.yml 来修改SpringBoot的默认配置
例如: 可修改application.properties文件中的端口号:
server.port=8888
server.servlet.context-path=demo
application.yml文件:
server: port: 8888
servlet:
context-path: /demo
1.2 配置文件与配置类的属性映射方式
1.2.1 使用注解@Value映射
我们可以通过@Value注解将配置文件中的值映射到一个Spring管理的Bean的字段上
例如:
application.properties配置如下:
person:
name: zhangsan
age: 18
实体Bean代码如下:
1.2.2 使用注解@ConfigurationProperties映射
通过注解@ConfigurationProperties(prefix="配置文件中的key的前缀")可以将配置文件中的配置自动与实体进行映射:
注意:使用@ConfigurationProperties方式可以进行配置文件与实体字段的自动映射,但需要字段必须提供set方法才可以,而使用@Value注解修饰的字段不需要提供set方法
二、SpringBoot整合其他技术
2.1 SpringBoot整合Mybatis
2.1.1 添加Mybatis的起步依赖
2.1.2 添加数据库驱动坐标
2.1.3 添加数据库连接信息
在application.properties中添加数据量的连接信息
2.1.4 创建user表
2.1.5 创建实体Bean
2.1.6 编写Mapper
2.1.7 配置Mapper映射文件
在src\main\resources\mapper路径下加入UserMapper.xml配置文件
2.1.8 在application.properties中添加mybatis的信息
2.1.9 编写测试Controller
2.1.10 测试
2.2 SpringBoot整合Junit
2.2.1 添加Junit的起步依赖
2.2.2 编写测试类
其中, SpringRunner继承自SpringJUnit4ClassRunner,使用哪一个Spring提供的测试测试引擎都可以
@SpringBootTest的属性指定的是引导类的字节码对象
2.3 SpringBoot整合Spring Data JPA
2.3.1 添加Spring Data JPA的起步依赖
1.3.2 添加数据库驱动依赖
1.3.3 在application.properties中配置数据库和jpa的相关属性
2.3.4 创建并配置实体
2.3.5 编写UserRepository
2.3.6 编写测试类