我有一个 JEE6 简单生成器类,它生成 SimpleDateFromat 对象:
public class myProducer {
@Produces public SimpleDateFormat produceASimpleDateFormat(final InjectionPoint injectionPoint)
{
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
}
我想要:
- 创建一个新的生成器,并以某种方式能够在类中指定在何处注入(inject)什么 DateFormat 或...
- 编辑现有的 Producer 以根据传递的参数生成不同的 SimpleDateFormat。
我应该如何最好地实现它?
最佳答案
听起来像是限定符的用途。
你可以
@Produces
@TypeA
public SimpleDateFormat produceTypeAFormat() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
@Produces
@TypeB
public SimpleDateFormat produceTypeBFormat() {
return new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
}
或者更动态的东西,您可以在其中读取注入(inject)点来读取带有内容的限定符,例如 @Format("yyyy-MM-dd HH:mm:ss")
,您可以读取注入(inject)点上的限定符。
关于java-ee-6 - CDI 生产者 同一类别的不同版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16309530/