- SpringBoot启动会加载大量的自动配置类
- 我们看我们需要的功能有没有SpringBoot默认写好的自动配置类;
- 我们再来看这个自动配置类中到底配置了哪些组件;(只要我们要用的组件有,我们就不需要再来配置了)
- 给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。我们就可 以在配置文件中指定这些属性的值;
- xxxxAutoConfigurartion:自动配置类;给容器中添加组件
- xxxxProperties:封装配置文件中的默认配置
- 导入配置文件自动提示的包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
配置文件占位符
${random.int}生成一个int的随机数
${random.value}生成一个随机字符串
${random.long}生成一个long的随机数据
${random.int(10)}生成0-10的随机int数
${random.int[10,100]} 生到10-100的随机int数
${sutudent.name}读取ioc容器里面的student对象里的name属性
- 如果配置是写在properties里面只有Map不能取到
- 如果配置写在yml 数组 集合 都取不到
- 如果属性是使用驼峰命名法则不能使用属性名注入,要使用
@Value("${student.user-name}")
来取值不能使用 **@Value("${student.userName}")
**来取值
yml语法
student:
id: 1
name: xiaoming
age: ${a.age}
hobby:
- LOL
- DNF
- CF
- LOL
lists:
- LOL
- DNF
maps:
k1: v1
k2: v2
sets:
- LOL
- DNF
- CF
- LOL
birth: 2019/12/12
a:
age: ${random.int(1,100)}
server:
port: 8088
#数据源
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/shiro?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=UTC
username: root
password: 0
#配置mybatisplus
mybatis-plus:
mapper-locations:
- classpath:mapper/*Mapper.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#端口
server:
port: 8080
spring:
#数据源
datasource:
url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=true
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
#配置数据源的类型
type: org.springframework.jdbc.datasource.DriverManagerDataSource