我是 Spring/Spring Boot 新手。我想使用application.properties
的键值对数据/application.yml
在Java文件中。我知道我们可以使用@Value
在任何 POJO 类中设置 application.properties
中字段的默认值或application.yml
文件。
Q1)但是为什么我们需要另外两个呢? @ConfigurationProperties
和@PropertySource
.
第二季度)@ConfigurationProperties
和@PropertySource
,两者都可以用来加载application.properties
中提到的外部数据。或application.yml
文件?或者有什么限制吗?
PS:我尝试在网上搜索但没有得到明确的答案。
最佳答案
@ConfigurationProperties
用于 POJO bean 将属性映射到其字段或 setter 。然后您可以使用该 bean 来访问应用程序逻辑中的属性值。
@PropertySource
用于引用属性文件并将其加载到 Spring 环境中(@ConfigurationProperties 或 @Value 可能会使用它)。
@Value
是将特定属性值通过其键注入(inject)到变量(成员字段或构造函数参数)中。
关于java - @ConfigurationProperties vs @PropertySource vs @Value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58691325/