Spring Boot-获取应用配置(自定义yml属性)

本文的核心内容:Spring Boot-获取应用配置(自定义yml属性)。


 

Spring Boot-获取应用配置(自定义yml属性)

 

有时,我们需要在应用中获取application.yml文件的配置信息。

I.@Value注解

II.@ConfigurationProperties注解,将通类型配置映射为一个类

 

这是自定义的YML属性,当然也可以系统自带的比如server.port=8080等等。

app: #自定义的属性和值
    appname: maps
    appid: 1

 

@Value注解

@Component
public class App{
    @Value("${app.appname}")
    private String appname;
    @Value("${app.appid}")
    private String appid;
    //get-set
}

@value注解支持SqEL表达式,如果属性不存在,可以为其提供一个默认值:

     @value("${server.port:8080}")
     private Integer port;

在使用的地方注入实体类,通过Get方法进行获取需要的属性。

@Autowired
private App  app;

 

@ConfigurationProperties注解,将通类型配置映射为一个类

 映射为一个Java类

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Component
@ConfigurationProperties(prefix = "app")
public class App{
    
    private String appname;

    private String appid;
    //get-set
}

如果需要在程序中使用这些配置的值,使用方法同上。

 

自定义yml属性与多环境配置的应用场景:多环境配置下,根据不同环境同一个key的获取到不同的属性值,通过自定义yml属性进行控制。

你可能感兴趣的:(Spring,Boot,Spring,Boot,笔记)