【发布时间】:2014-10-05 00:48:38
【问题描述】:
我是 Java EE 中的上下文依赖注入的新手(我在 EE 6 上),我想请教一下我遇到的问题:
假设你声明了这个注解:
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Qualifier
public @interface MaxPassengers {}
在另一个类中,我说 getMaxPassengers 方法会在使用 @MaxPassengers 注释时产生要注入的值:
public class AirplaneInformation implements Serializable {
@Produces @MaxPassengers Integer getMaxPassengers() {
return 250;
}
}
在第三节课中,我将@MaxPassengers 注入到一个变量中:
@MaxPassengers
@Inject
private Integer maxPassengers;
所有这些工作都很棒,但这里有一个转折点:
如果我想更改签名怎么办 @Produces @MaxPassengers 整数 getMaxPassengers() 到 @Produces @MaxPassengers Integer getMaxPassengers(String planeType)
并根据planeType返回maxPassengers的动态值。
我想知道是否可以这样做,如果可以,我该如何更改以下注释
@MaxPassengers
@Inject
private Integer maxPassengers;
还提供 planeType 参数。
感谢您的帮助, -丹尼尔
【问题讨论】:
标签: java jakarta-ee cdi