あなたはロンボクを使用していますか?あなたのクラスは、パラメータ注釈を持つコンストラクターを必要としません.Lombokを持つクラスコンストラクタにおける@ lazyアノテーションの使用法
あなたはロンボクとそれを解決する方法を考えですか?
しかし、私はこの答えを見つけました、そして、それは大いに助けました:
Lombokを持つクラスコンストラクタにおける@ lazyアノテーションの使用法
@Service
public class SomeService {
private final OtherService otherService;
public SomeService (@Lazy OtherService otherService) {
this.otherService = otherService;
}
}
私は、このようにLombokを使いたいです:@Service
@RequiredArgsConstructor
public class SomeService {
@Lazy private final OtherService otherService;
}
でも@Lazy
注釈は動作しません.ロンボクは、フィールドの注釈としてマークされます.しかし、私はこの答えを見つけました、そして、それは大いに助けました:
Lombokを持つクラスコンストラクタにおける@ lazyアノテーションの使用法
Dec 27 ' 19
コメント: 2
回答:1
7
クラスAnimalService :public class AnimalService{
private DogService dogService;
private AnimalService(@Lazy DogService dogService){
this.dogService = dogService;
}
}
}
この場合、私はLombokの注釈を使用したい場合は、@ lazy読み込みを維持する方法がありますか?
次のコードは上記のコードと同じですか?
Open Full Question
はい.クリエイトlombok.config
プロジェクトのルートでこの行を追加します.
lombok.copyableAnnotations += org.springframework.context.annotation.Lazy
または、この行をコピーし、@Value
, @Qualifier
またはあなたが欲しい.(注意:完全な注釈署名を使用してください!)
そして、アノテーションの作業を心配しないでくださいとロンボクを使用してください!
@Service
@RequiredArgsConstructor
public class SomeService {
@Lazy private final OtherService otherService;
}
その後、Lombokは次のように処理されます.
@Service
public class SomeService {
// 30 Sep, 2021: Annotation still remains because of copyableAnnotations.
@Lazy private final OtherService otherService;
public SomeService (@Lazy OtherService otherService) {
this.otherService = otherService;
}
}
ちゃ!
ハッピーコーディング!
Reference
この問題について(あなたはロンボクを使用していますか?あなたのクラスは、パラメータ注釈を持つコンストラクターを必要としません.Lombokを持つクラスコンストラクタにおける@ lazyアノテーションの使用法), 我々は、より多くの情報をここで見つけました
https://dev.to/composite/are-you-using-lombok-your-classes-don-t-need-constructor-with-annotation-5480
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
public class AnimalService{
private DogService dogService;
private AnimalService(@Lazy DogService dogService){
this.dogService = dogService;
}
}
}
lombok.copyableAnnotations += org.springframework.context.annotation.Lazy
@Service
@RequiredArgsConstructor
public class SomeService {
@Lazy private final OtherService otherService;
}
@Service
public class SomeService {
// 30 Sep, 2021: Annotation still remains because of copyableAnnotations.
@Lazy private final OtherService otherService;
public SomeService (@Lazy OtherService otherService) {
this.otherService = otherService;
}
}
Reference
この問題について(あなたはロンボクを使用していますか?あなたのクラスは、パラメータ注釈を持つコンストラクターを必要としません.Lombokを持つクラスコンストラクタにおける@ lazyアノテーションの使用法), 我々は、より多くの情報をここで見つけました https://dev.to/composite/are-you-using-lombok-your-classes-don-t-need-constructor-with-annotation-5480テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol