2

我有一个生成 SimpleDateFromat 对象的 JEE6 简单生产者类:

public class myProducer {

    @Produces public SimpleDateFormat produceASimpleDateFormat(final InjectionPoint injectionPoint)
    {
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    }
}

我想要:

  1. 创建一个新的生产者,并以某种方式能够在类中指定 DateFormat 被注入的位置或......
  2. 编辑我现有的 Producer 以根据传递的参数生成不同的 SimpleDateFormat。

我应该如何最好地实现它?

4

1 回答 1

3

听起来像是限定词的用途。

你可以

@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");
}

或者在您读取注入点以读取带有内容的限定符的地方进行更动态的操作,例如您可以在注入点上读取限定符@Format("yyyy-MM-dd HH:mm:ss")的位置。

于 2013-05-01T01:51:56.630 回答