Передать параметр в экземпляр @Inject Bean
Я использую CDI в качестве инфраструктуры для инъекций, но я обнаружил некоторые ограничения в его использовании, и это одно из них. Я пытаюсь инициализировать создание экземпляра компонента свремя выполнения ценности. Пример:
@RequestScoped
public class MyNumber {
int number;
public MyNumber(int number) {
this.number = number;
}
public String toString() {
return "Your number is: " + number;
}
}
public class UseNumber {
@Inject
Instance<MyNumber> number;
public void doStuff() {
int a = 8;
MyNumber mN = number.select(a).get(); // ?? - Obviously this does not work.
System.out.print(mN); // Should print: "Your number is: 8"
}
}
Пожалуйста, обратите внимание, что «a» является константой в примере, но на практике это переменная; Я уточняю это, чтобы вы не опубликовали ответ с@Producer
ввести значение затем в конструктореMyNumber
.
Теперь, у кого-нибудь есть идея о том, как я могу это сделать?