創建一個Spring FactoryBean,它允許您公開一個Client bean,並且很容易在Spring應用程序上下文中將其配置爲一個bean。例如
對於
public class ClientFactoryBean implements FactoryBean<Client>{
private String ipAddress;
private int port;
public Class<?> getObjectType(){
return Client.class;
}
public boolean isSingleton(){
return true;
}
public void setPort(int port){
this.port = port;
}
public void setIpAddress(String ipAddress){
this.ipAddress = ipAddress;
}
public Client getObject(){
return new TransportClient().addTransportAddress(new InetSocketTransportAddress(ipAddress,port));
}
}
然後在你的應用程序上下文文件
<bean id="client" class="some.package.ClientFactoryBean">
<property name="ipAddress" value="192.168.0.198"/>
<propert name="port" value="9300"/>
</bean>
然後,您可以作爲一般注入客戶端Bean。 NB。它的類型將是Client not ClientFactoryBean,因爲Spring會檢測到它是一個工廠bean,並且它將管理getObject調用的結果