Spring之读取配置信息

Spring配置文件管理:@Value、@ConfigurationProperties与PropertySource的使用
本文介绍了Spring框架中用于从配置文件读取常用配置信息的方法,包括`@Value`用于简单配置、`@ConfigurationProperties`绑定复杂配置对象以及`PropertySource`读取特定文件。以阿里云OSS、短信服务和微信认证等为例,展示了如何在Spring应用中管理配置信息。

目录

读取配置信息

@value(常用)

@ConfigurationProperties(常用)

PropertySource(不常用)


读取配置信息

很多时候我们需要将一些常用的配置信息比如阿里云 oss、发送短信、微信认证的相关配置信息等等放到配置文件中。

下面我们来看一下 Spring 为我们提供了哪些方式帮助我们从配置文件中读取这些配置信息。

我们的数据源application.yml内容如下::

shipingsai2024: 2月21日,在韩国釜山进行的2024年国际乒联釜山世界乒乓球团体锦标赛女子团体八分之一决赛中,中国队3比0战胜泰国队,晋级八强。
​
my-profile:
  name: 无问
  email: widnpamhx@163.com
​
library:
  location: 中国加油
  books:
    - name: 天才基本法
      description: 二十二岁的林朝夕在父亲确诊阿尔茨海默病这天,得知自己暗恋多年的校园男神裴之即将出国深造的消息——对方考取的学校,恰是父亲当年为她放弃的那所。
    - name: 时间的秩序
      description: 为什么我们记得过去,而非未来?时间“流逝”意味着什么?是我们存在于时间之内,还是时间存在于我们之中?卡洛·罗韦利用诗意的文字,邀请我们思考这一亘古难题——时间的本质。
    - name: 了不起的我
      description: 如何养成一个新习惯?如何让心智变得更成熟?如何拥有高质量的关系? 如何走出人生的艰难时刻?
@value(常用)

使用 @Value("${property}") 读取比较简单的配置信息:

@Value("${shipingsai2024}")
String shipingsai2024;
@ConfigurationProperties(常用)

通过@ConfigurationProperties读取配置信息并与 bean 绑定。

@Component
@ConfigurationProperties(prefix = "library")
class LibraryProperties {
    @NotEmpty
    private String location;
    private List<Book> books;
​
    @Setter
    @Getter
    @ToString
    static class Book {
        String name;
        String description;
    }
  省略getter/setter
  ......
}

你可以像使用普通的 Spring bean 一样,将其注入到类中使用。

PropertySource(不常用)

@PropertySource读取指定 properties 文件

@Component
@PropertySource("classpath:website.properties")
​
class WebSite {
    @Value("${url}")
    private String url;
​
  省略getter/setter
  ......
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值