У меня есть класс HiddenNumber с этим конструктором:Инъекционное java.util.Random на конструктор
public HiddenNumber(java.util.Random random, int maxNumberOfDigits) {
/* some code */
}
я пытаюсь использовать аннотации для DI, как:
@Autowired
public HiddenNumber(@Value("T(java.util.Random") random,
@Value("4")int maxNumberOfDigits) {
/* some code */
}
Но это Безразлично» т работы. Я также попытался:
@Autowired
public HiddenNumber(@Value("#{T(java.util.Random}") random,
@Value("4")int maxNumberOfDigits) {
/* some code */
}
Если я:
@Autowired
public HiddenNumber(Random random, @Value("4") int maxNumberOfDigits) {
/* some code */
}
И в приложение-context.xml сделать:
<bean class="java.util.Random" />
Он работает нормально. Но, конечно, я предпочитаю делать только аннотации.
Каков правильный способ введения java.util.Random?
Спасибо.
Вы не можете вводить то, для чего у вас нет компонента. Если вы предпочитаете аннотации, просто создайте конфигурацию на основе java. –