我有一个带有这个构造函数的 HiddenNumber 类:
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 */
}
然后在 app-context.xml 中执行:
<bean class="java.util.Random" />
它工作正常。但我当然更喜欢只做注释。
注入(inject) java.util.Random 的正确方法是什么?
谢谢。
最佳答案
你可以这样做:
@Autowired
public HiddenNumber(@Value("#{new java.util.Random()}") Random random, @Value("4")int maxNumberOfDigits) {
...
}
关于java - 在构造函数上注入(inject) java.util.Random,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15688677/