【发布时间】:2017-01-18 21:50:57
【问题描述】:
我有一个通过 DI 实现配置接口的类。
@Inject
private PRCConfiguration prcConfig;
PRCConfiguration 接口有多种实现方式。目前它正在注入默认实现。我希望在配置文本文件中创建一个值,该值将定义要注入的 PRCCONfiguration 的特定实现。 我希望@Inject 符号能够验证配置文件中的值,并基于该值注入特定的实现。
相信我们可以通过限定符对不同的实现进行注解,然后注入,比如
@Inject @NewImplementation
private PRCConfiguration prcConfig;
但我再次通过硬编码注入编译时间。
我的配置文件会是这样的
"injectconfig":"NewImplementation"
注入@NewImplementation 实现,随后如果我想注入不同的实现。我可以将配置文件值更改为
"injectconfig":"DifferentImplementation"
不同的实现会被注入。
我的要求可以通过 CDI 实现吗?
【问题讨论】:
标签: java spring jakarta-ee dependency-injection cdi