gpt4 book ai didi

java - Spring:使用构建器模式创建 bean

转载 作者:IT老高 更新时间:2023-10-28 13:04:57 25 4
gpt4 key购买 nike

我使用 ektorp连接到 CouchDB。

构建 ektorp HttpClient 实例的方法是使用构建器模式:

HttpClient httpClient = new StdHttpClient.Builder()
.host("mychouchdbhost")
.port(4455)
.build();

我对 Spring 比较陌生。请告诉我如何在我的上下文中配置 HttpClient 以通过 Builder 创建它。

一种方法是使用 @Configuration。还有其他选择吗?

最佳答案

你可以尝试实现FactoryBean接口(interface):

public class HttpFactoryBean implements FactoryBean<HttpClient>{

private String host;
private int port;


public HttpClient getObject() throws Exception {
return new StdHttpClient.Builder()
.host(host)
.port(port)
.build();
}

public Class<? extends HttpClient> getObjectType() {
return StdHttpClient.class;
}

public boolean isSingleton() {
return true;
}

public void setHost(String host) {
this.host = host;
}

public void setPort(int port) {
this.port = port;
}}

并添加到配置以下 bean 定义:

<beans ..."> 
<bean name="myHttpClient" class="HttpFactoryBean">
<property name="port" value="8080"/>
<property name="host" value="localhost"/>
</bean>
</beans>

然后你可以将这个bean注入(inject)另一个bean,它会被解析为StdHttpClient实例。

关于java - Spring:使用构建器模式创建 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3236850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com