java将默认公共构造函数添加到生成的生成器内部类
我正在使用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()
。但是为了更好地与SpringBeans创建集成,我尝试创建一个FactoryBean
。但由于生成器类上缺少默认构造函数而导致编译错误,未找到任何相关文档。龙目山有可能吗?我的意思是在生成器上而不是在原始类上创建默认构造函数。换句话说,我需要两个选项来创建生成器实例: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;
}
}
# 1 楼答案
使用注释^{} :
Read also this.