springboot整合配置文件处理器
springboot整合配置文件处理器
制作人:全心全意
springboot整合配置文件处理器(配置文件进行绑定会有提示)
引入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
注入配置文件
新建application.yml文件(resources中)
zq: name: quanxinquanyi
配置文件对应类
package com.zq.main.bean; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import lombok.Data; @Component @ConfigurationProperties("zq") @Data public class Myconfig { private String name; public String toString() { return "Myconfig [name=" + name + "]"; } }
调用方法
@Autowired private Myconfig myconfig; @RequestMapping("/getss") public String getss() { return myconfig.toString(); }
配置文件占位符
${random.int}:数字随机数(${random.int(10)}表示10以内的随机数)
spring boot 整合yml配置文件
新建application.yml文件(resources中)
zq: name: quanxinquanyi
读取配置文件
package com.zq.main.tasks; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component // 表示将这个类交给Spring管理 public class ScheduledTasks { // 将yml配置文件中的配置赋值给name,也可以读取properties中的配置 @Value("${zq.name}") private String name; @Scheduled(fixedRate = 5000) // 设置时间间隔,毫秒为单位 public void reportCurrentTime() { System.out.println("读取yml配置文件,name为:" + name); } }
多环境配置文件的读取
dev:本地开发环境
test:测试环境
pre:预生产环境
prd:生产环境
新建application.yml文件(resources中)
spring: profiles: active: dev
新建application-dev.yml
zq: name:全心全意
此时会读取application-dev.yml配置文件的配置