2 ,yml和properties的区别

1,springboot 两种配置文件

  • application.properties

  • application.yml、application.yaml

两种配置方式,效果是一样的

application.properties

server.port=8081
server.servlet.context-path=/api

application.yml、application.yaml

server:
    port: 8081
    servlet:
        context-path: /api

2,获取配置文件的值

一般配置文件中,配置内容为:1,第三方配置,2,个人自定义配置内容

个人自定义配置内容,在代码中都需要使用,下面是代码中使用配置文件值的两种方式:

  1. @Value("${键名}"),如@Value("${ server.port}")

  2. @ConfigurationPrperties(prefix="前缀"),如@ConfigurationPrperties(prefix="server")

3,绑值对比

区别

@ConfigurationPrperties

@Value

使用位置不同

标注在JavaBean上

标注在 JavaBean 的属性上

功能不同

批量绑定

只能单个绑定

松散绑定支持不同

支持松散,例:

  Person 属性为 firstName,配置文件支持: 

  • person.firstName

  • person.first_name

  • PERSON_FIRST_NAME

不支持松散

SpEL支持不同

不支持

支持

复杂类型封装

支持素有类型数据封装, 例如 Map、List、Set、以及对象等;

只支持基本数据类型封装, 例如字符串、布尔值、整数等类型

应用场景

专门映射一个 JavaBean

只取一个值

@PropertySource

是把一些特定的与 SpringBoot 无关的配置,通过 @PropertySource 注解指向特定的配置文件

@PropertySource(value = "classpath:person.properties")//指向对应的配置文件
@Component
@ConfigurationProperties(prefix = "person")

这个地方测试用 yml 文件发现取不到值,所以只能用 .properties 格式的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值