Строго говоря: сеттер с двумя параметрами не является сеттером.Это нарушает соглашение JavaBeans, на котором основывается Spring.Нет простого способа решить эту проблему.
В качестве альтернативы вот класс Helper, который вы можете использовать для настройки объекта HttpParams с помощью Spring:
public class HttpParamSetter{
private HttpParams httpParams;
public void setHttpParams(HttpParams httpParams){
this.httpParams = httpParams;
}
private Map<String, Object> parameters;
public void setParameters(Map<String, Object> parameters){
this.parameters = parameters;
}
@PostConstruct
public void applyParameters(){
for(Entry<String, Object> entry:parameters.entrySet()){
httpParams.setParameter(entry.getKey(), entry.getValue());
}
}
}
Подключите его следующим образом:
<bean class="com.yourcompany.HttpParamSetter">
<property name="httpParams" ref="httpParams" />
<property name="parameters">
<map>
<entry key="foo" value="bar" />
<entry key="baz" value="phleem" />
</map>
</property>
</bean>