Estrictamente hablando: Un colocador con dos parámetros no es un colocador. Viola la convención de JavaBeans, en la cual Spring construye. No hay una manera simple de resolver eso.
Como alternativa, esto es una clase de ayuda que puede utilizar para configurar sus HttpParams objeto con la primavera:
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());
}
}
}
alambre así:
<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>
Gracias Pensé que no había una manera de hacerlo puramente con la primavera lo que terminamos haciendo es implementar un Spring FactoryBean que puede suministrar la conexión necesaria de fábrica luego la configuración se ve así: con httpParamFactory siendo una instancia de nuestro FactoryBean. –
craftsmanadam
@craftsmanadam Inicialmente iba a sugerir eso, pero no sabía si tú mismo creaste el objeto Params, así que busqué una solución que siempre funcionara (pero la tuya probablemente sea más primaveral) –