I have superclass:
@AllArgsConstructor
public abstract class AbstractSuperService {
protected final SuperRepository superRepository;
}
And two subclass:
@Service
public class OneSubService extends AbstractSuperService {
private final OneRepository oneRepository;
public OneSubService(SuperRepository superRepository, OneRepository oneRepository){
super(superRepository);
this.oneRepository = oneRepository;
}
}
@Service
public class SecondSubService extends AbstractSuperService {
private final SecondRepository secondRepository;
public SecondSubService(SuperRepository superRepository, SecondRepository secondRepository){
super(superRepository);
this.secondRepository = secondRepository;
}
}
This code is work. But if I change code: delete constructor in subclasses and add annotation lombok @SuperBuilder in all class.
@AllArgsConstructor
@SuperBuilder
public abstract class AbstractSuperService {
protected final SuperRepository superRepository;
}
@Service
@SuperBuilder
public class OneSubService extends AbstractSuperService {
private final OneRepository oneRepository;
}
@Service
@SuperBuilder
public class SecondSubService extends AbstractSuperService {
private final SecondRepository secondRepository;
}
The following error appears:
Description:
Parameter 0 of constructor in OneSubService required a bean of type 'OneSubService$OneSubServiceBuilder' that could not be found.
Action:
Consider defining a bean of type 'OneSubService$OneSubServiceBuilder' in your configuration.
How to correctly apply the lombok annotation in subclass, so as not to write constructor in subclass?