SpringBoot 读取 yml 配置的几种方式

简介: SpringBoot 读取 yml 配置的几种方式

几种数据格式的表示方式

1.普通的值(数字,字符串,布尔)

expire: 60 # 方便测试,设成 60 秒

2.对象、Map (属性和值) (键值对) 不支持tab,使用空格

vipsoft:
   api-url: http://xxxx
   file-path: /temp

3.数组 (List、Set)

cloud:
    gateway:
      routes:
      - id: push-service
        uri: http://localhost:8081
        predicates:
        - Path=/push/**
        filters:
        - name: AuthorizationFilter   # 用户鉴权
      - id: express-service
        uri: http://localhost:8082
        predicates:
        - Path=/express/**
        filters:
        - name: AuthorizationFilter   # 用户鉴权

获取值的方法

application.yml

vipsoft:
  jwt:
    # 加密秘钥
    secret: d3d3LnZpcHNvZnQuY29tLmNuLjQ3MjYyOTQ3LnNwcmluZyBib290
    # token有效时长,单位秒
    expire: 60 # 方便测试,设成 60 秒
    header: token

第一种 @value 如果yml里面没有对应的配置,启动时会报异常

@Value("${vipsoft.jwt.secret}")
public String secret;

第二种 @ConfigurationProperties

@ConfigurationProperties(prefix = "vipsoft.jwt")
@Component
public class JwtUtils {
    private Logger logger = LoggerFactory.getLogger(getClass());
    private String secret;
    private long expire;
    private String header;
    //后面代码省略,详见 https://www.cnblogs.com/vipsoft/p/13237172.html Spring Boot JWT 用户认证
}

第三种 @Environment

@SpringBootTest
class AIReportTests {
    Logger logger = LoggerFactory.getLogger(this.getClass()); 
    @Autowired
    Environment env;
    @Test
    void ymlTest() {
        String s = env.getProperty("vipsoft.jwt.secret");
        logger.info(s);
    }
}

 

目录
相关文章
|
11月前
|
XML JavaScript 前端开发
【Java】Spring Boot中的配置properties 和 yml 的区别
【Java】Spring Boot中的配置properties 和 yml 的区别
|
12月前
|
Java Linux Maven
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
244 0
|
4月前
|
Java C++
SpringBoot中的properties,yml,yaml的区别
SpringBoot中的properties,yml,yaml的区别
54 0
|
28天前
|
Java 测试技术 Spring
Java SpringBoot 加载 yml 配置文件中字典项
Java SpringBoot 加载 yml 配置文件中字典项
25 0
|
1月前
|
Java
SpringBoot yml 小格子 变 小叶子
SpringBoot yml 小格子 变 小叶子
22 0
|
3月前
|
Java 数据库连接 开发者
SpringBoot实用开发篇第一章(yml配置文件操作)
SpringBoot实用开发篇第一章(yml配置文件操作)
|
2月前
|
Java
springBoot如何设置yml文件,设置端口号
springBoot如何设置yml文件,设置端口号
|
4月前
|
Java 应用服务中间件 Maven
SpringBoot概述&SpringBoot基础配置&yml的使用&多环境启动
SpringBoot概述&SpringBoot基础配置&yml的使用&多环境启动
61 2
|
10月前
|
Java
springboot(若依)多模块获取yml属性
springboot(若依)多模块获取yml属性
195 0
QGS
|
4月前
|
JSON Java 关系型数据库
手拉手Springboot获取yml配置文件信息
手拉手Springboot获取yml配置文件信息
QGS
72 1