我想注入一個自定義彈簧模塊驗證函數的依賴。我曾嘗試在setter上使用@Autowired,但它沒有效果。有誰知道是否或如何做到這一點?我怎樣才能注入到Spring模塊驗證(Valang)自定義函數的依賴項?
這裏是我的valang驗證:
<bean id="resellerValidator" class="org.springmodules.validation.valang.ValangValidator">
<property name="customFunctions">
<map>
<entry key="isValidResellerId" value="com.myproject.valang.IsValidResellerIdFunction" />
</map>
</property>
<property name="valang">
<value>
<![CDATA[
{resellerId: ? IS BLANK OR isValidResellerId(?) IS TRUE : '' : 'field.badFormat'}
]]>
</value>
</property>
</bean>
這裏是自定義函數:
public class IsValidResellerIdFunction extends AbstractFunction {
private ResellerService resellerService;
@Autowired
public void setResellerService(ResellerService resellerService) {
this.resellerService = resellerService;
}
public IsValidResellerIdFunction(Function[] arguments, int line, int column) {
super(arguments, line, column);
definedExactNumberOfArguments(1);
}
@Override
protected Object doGetResult(Object o) throws Exception {
String resellerId = (String) getArguments()[0].getResult(o);
return resellerService.isValidResellerId(resellerId);
}
}
感謝您的回答,但是這並沒有影響。 –