我是新來的語境依賴於注射的Java EE(我是EE 6),我想請詢問有關的東西我跑進:語境依賴Inhections在Java EE中
比方說,你聲明此註解:
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Qualifier
public @interface MaxPassengers {}
在一個不同的I類說,getMaxPassengers方法產生的值時,@MaxPassengers註解用於注入:
public class AirplaneInformation implements Serializable {
@Produces @MaxPassengers Integer getMaxPassengers() {
return 250;
}
}
在第三個類,我注入@MaxPassengers到一個變量:
@MaxPassengers
@Inject
private Integer maxPassengers;
所有這些工作都是偉大的,但這裏的扭曲:
如果我想改變的 簽名@Produces @MaxPassengers整數getMaxPassengers() 到 @Produces @MaxPassengers整數getMaxPassengers(字符串planeType)
並根據planeType返回動態值maxPassengers。
我不知道是否可以做到這一點,如果是這樣,我怎麼更改以下註解
@MaxPassengers
@Inject
private Integer maxPassengers;
還提供planeType說法。
感謝你的幫助, -Daniel
出於好奇:是否需要'@ Any'或者只需要注入'@ MaxPassengers'就可以提高速度? – 2014-10-05 09:27:57
由於注射點不知道要注入什麼,因此需要「任何」。 – 2014-10-05 13:11:52
謝謝你的回答約翰。我的感覺是你是Java EE的真正專家。說實話,在我完全理解你的意思之前,我必須學習更多的CDI。我從「Java EE 6教程基本概念」一書中學到了關於CDI的所有知識,然後提出了航空公司小概念驗證項目。本週我將閱讀「Beginning EJB 3」中的CDI章節,然後希望我會多瞭解一些...... – Daniel 2014-10-06 22:01:19