是否可以从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}"
这甚至可能吗?如果是这样,该怎么做?我的想法很不错:(
提前致谢;)
答案 0 :(得分:6)
如果您希望将属性绑定到某个类,可以使用@ConfigurationProperties(prefix="plans.eur")
。
@Component
和
CurrencyPlan
会放在@EnableConfigurationProperties
上。 @Configuration
最好放在CurrencyPlan
课程上。
您可以将{{1}}类自动装配到依赖类中。