1.YAML配置文件格式
YAML是一种数据序列化格式
优点:
容易阅读
容易与脚本语言交互
以数据为核心、重数据格式
2.YAML语法规则
大小写敏感
属性层级关系使用多行描述,每行结尾使用冒号结束
使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
#表示注释
实例:
likes和likes2效果一样,likes2简写
users和users3效果一样
重点:数据和冒号之间必须有一个空格
3.字面值的表示方式
4.读取配置文件单一数据
@Value(${name})
private String name;
在属性上添加@Value注解就行,然后${},这个语法叫SpEL表达式
如果是两级就用'.'连接
@Value(${user.name})
private String name;
读取数组中的第一个
@Value(${user[0]})
private String user1;
读取对象数组第一组中的name属性值
@Value(${user[0].name})
private String name;
5.配置文件中变量的引用
user: c:\wind10
#使用${属性名}引用数据
temp: ${user}\temp
#如果有转义字符,下面就会有空格,\t就是空格
temp: "${user}'\t‘emp"
6.读取配置文件全部属性数据
@Autowired
private Environment env;
env就可以 包含配置文件中所有数据
然后使用getProperty方法获取,值为SpEL表达式里面的值一样
sout(env.getProperty("user.name"));
7.读取配置文件引用类型属性数据
创建类,用于封装下面的数据
由Spring帮我们去加载数据到对象中
使用的时候从spring中直接获取信息使用
例子:
先在配置文件里面写一段配置
datasource: driver: com.mysql.jdbc.Driver url: jdbc.mysql:///aj_report username: root password: root
然后自定义一个类
package springboot_01_01_quckstart.zxd.pojo.Books;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "datasource")
public class MyDataSource {
private String driver;
private String url;
private String username;
private String password;
public MyDataSource() {
}
public MyDataSource(String driver, String url, String username, String password) {
this.driver = driver;
this.url = url;
this.username = username;
this.password = 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 + '\'' +
'}';
}
}
8.整合第三方技术
整合Junit
SpringBoot默认已经整合了
@SpringBootTest就可以直接当作测试类
注意的是我们要位置,要与class路径和Application启动类得路径同包及其子包一致。
整合MyBatis
核心配置:数据库连接相关信息(连什么?连谁?什么权限)
映射配置:SQL映射(XML/注解)
创建时勾选上:
注意MyBatis是两个
配置相关信息:数据源
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:///aj_report username: root password: root
///代表是本地数据库,端口是默认的,如果修改过端口,就不能这么写,//localhost:端口号/
剩下就正常使用即可,创建实体类,创建接口,
如果你mysql使用8版本得 ,配置有强制要求
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql:///aj_report?serverTimezone=UTC username: root password: root
强制设置时区
驱动类过时提醒
整合MyBatis-plus
如果创建项目路径使用默认的是没有mybatisplus的,无法勾选,可以自己添加
然后直接搜索mybatis plus选择版本就会有
直接复制到pom文件
yml配置数据源和mybatis一样,再添加MP的相关配置
#MP配置,这个配置会默认给所有表加前缀 mybatis-plus: global-config: db-config: #加前缀 table-prefix: tab_ #id自增 id-type: auto #sql语句展示 configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
接口层:extends BaseMapper<实体类>
整合Druid
首先去查坐标,加入坐标,然后配置信息
#第一种 #spring: # datasource: # driver-class-name: com.mysql.cj.jdbc.Driver # url: jdbc:mysql:///aj_report?serverTimezone=UTC # username: root # password: root # type: com.alibaba.druid.pool.DruidDataSource #第二种 spring: datasource: druid: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql:///aj_report?serverTimezone=UTC username: root password: root