Kesin olarak: İki parametreli bir ayarlayıcı bir ayarlayıcı değildir. Spring'in oluşturduğu JavaBeans sözleşmesini ihlal ediyor. Bunu çözmek için basit bir yol yoktur. Bir alternatif olarak
, burada kendi HttpParams yapılandırmak için kullanabileceğiniz bir Yardımcı sınıf Bahar ile nesnesi var: Böyle
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());
}
}
}
Tel it:
<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>
Teşekkürler Bahar bittikten sonra bunu yapmak için bir yol olmadığını düşündüm ne yaptık bittikten sonra gerekli bağlantı fabrika sağlayabilen bir Spring FactoryBean uygulamak olduğunu: config aşağıdaki gibi görünüyor: , httpParamFactory ile FactoryBean'ın bir örneğidir. –
craftsmanadam
@craftsmanadam İlk başta bunu önereceğim, ama Params nesnesini kendiniz yaratıp yaratmadığınızı bilmiyordum, bu yüzden her zaman çalışması gereken bir çözüm için gittim (ama muhtemelen daha fazla bahar gibi) –