Spring boot中获取application.yml配置

在实际开发中,我们会在把环境配置放到yml中那么我们如何获取yml的值呢。

先上3种yml

mavenDemo:
  port: 80
mavenDemo1:
  super: 
    port: 81
mavenDemo2:
  List: 
    - port: 82
    - port: 83

比如这种yml格式我们如何分别获取他们的值呢。

方式一:使用@Value注解的方式。

public class DemoProperties {
    @Value("${mavenDemo.port}")
    private Integer port;//读取yml的配置:80

    @Value("${mavenDemo.port:8080}")
    private Integer defaultPort;//也是读取yml的配置80,如果没有配置则使用默认值8080

    @Value("${mavenDemo1.super.port}")
    private Integer superPort;//读取mavenDemo->super->port配置81

    @Value("${mavenDemo2.List[0].port}")
    private Integer ListPort;//读取mavenDemo2中的List的第一个元素port的值:82
}

方式一:使用@ConfigurationProperties注解的方式。

mavenDemo:
  port: 80
  debugPort: 81
mavenDemo1:
  List: 
    - port: 82
      debugPort: 8282
    - port: 83
      debugPort: 8383
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Data
@ConfigurationProperties(prefix = DemoProperties.PREFIX)
public class DemoProperties {
    public static final String PREFIX    = "mavenDemo";

    private Integer port;   //80
    private Integer debugPort; //81
}

当我们要在代码中使用上面类时可以使用注入的方式

@Autowired
DemoProperties     demoProperties ;

对于List的这种

@Data
@ConfigurationProperties(prefix = DemoProperties.PREFIX)
public class DemoProperties {
    //这里要写yml的前缀
    public static final String PREFIX    = "mavenDemo1";
    List<PortProperties> listProperties = new ArrayList();;
}
@Data
class PortProperties{
    private Integer port;
    private Integer debugPort;
}

更详细的可以参考这篇文章:springboot读取配置文件 - 掘金

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信仰_273993243

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值