Я бы хотел использовать lombok для внедрения класса, реализованного из интерфейса, подобного приведенному ниже:
@RequiredArgsConstructor(onConstructor = @_(@Inject))
public class className {
@NonNull
private final ClassA1 a1 implements ClassA;
...
}
Но очевидно, что это не работает, так как правильно это сделать?
=================
редактирование:
Или я должен так поступить?
public class className {
private ClassA a1;
public className(A1 a1) {
this.a1 = a1; }
}
===================
Вот код после получения совета от Михаила Москуры:
@Component
@RequiredArgsConstructor(onConstructor = @_(@Inject))
public class C {
@NonNull
private A b;
public someFunction() {
b.method();
}
}
Здесь A - это интерфейс, а b - это класс, реализующий A с именем верблюда. И используя lombok я ввел b, а теперь вызываю некоторый метод b в некоторой функции. Однако я понял, что b.method по-прежнему указывает на интерфейс A, но не на B.