Я использую Lombok Framework для генерации стандартного кода, например:
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
.Но получил ошибку компиляции из-за отсутствия конструктора по умолчанию для класса builder, не нашел документации по этому поводу.С Ломбоком это возможно?Я имею в виду создать конструктор по умолчанию в конструкторе, а не в исходном классе.Другими словами, я хочу 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;
}
}