我使用Lombok框架生成样板代码,例如:
import lombok.*;
@Builder
@Value
public final class SocketConfig {
@Builder.Default
private int soTimeoutMilliseconds = 0;
@Builder.Default
private boolean soReuseAddress = false;
@Builder.Default
private int soLingerSeconds = -1;
private boolean soKeepAlive;
@Builder.Default
private boolean tcpNoDelay = false;
}
为了创建构建器实例,我曾调用SocketConfig.builder()
。但为了更好地与spring bean创建集成,我尝试创建FactoryBean
。但是由于构建器类缺少默认构造函数而导致编译错误,没有找到任何关于它的文档。龙目岛有可能吗?我的意思是在构建器上创建一个默认构造函数,而不是在原始类上。换句话说,我想要2个选项来创建构建器实例:SocketConfig.builder()
或new SocketConfig.SocketConfigBuilder()
。
import org.springframework.beans.factory.FactoryBean;
public class SocketConfigFactoryBean extends SocketConfig.SocketConfigBuilder implements FactoryBean<SocketConfig> {
@Override
public SocketConfig getObject() throws Exception {
return build();
}
@Override
public Class<?> getObjectType() {
return SocketConfig.class;
}
@Override
public boolean isSingleton() {
return false;
}
}
答案 0 :(得分:1)