是否有可能从application.yaml获取自己的对象并将其与@Value绑定到我的组件?
模型:
@Data public class CurrencyPlan { private String id; private String basePrice; private String merchantId; }
application.yml:
plans: eur: id: id basePrice: 5 merchantId: someid
我正在尝试做的是:
@Value("${plans.eur}") CurrencyPlan eurPlan
我得到的是:
java.lang.IllegalArgumentException: Could not resolve placeholder 'plans.eur' in value "${plans.eur}"
这有可能吗?如果是这样,该怎么做?我很没主意:(
提前致谢 ;)
如果您希望将属性绑定到类,则可以使用@ConfigurationProperties。
@ConfigurationProperties
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features- external-config.html#boot-features-external-config-typesafe-configuration- properties
@ConfigurationProperties(prefix="plans.eur")并将 @Component放置在CurrencyPlan。@EnableConfigurationProperties最好放在一个@Configuration班上。
@ConfigurationProperties(prefix="plans.eur")
@Component
CurrencyPlan
@EnableConfigurationProperties
@Configuration
之后,您可以将CurrencyPlan类自动连接到相关类。