롬복을 사용하고 있습니까? 클래스에는 Annotation 매개변수가 있는 생성자가 필요하지 않습니다. Lombok의 클래스 생성자에서 @Lazy 주석을 사용하는 방법은 무엇입니까?
@Service
public class SomeService {
private final OtherService otherService;
public SomeService (@Lazy OtherService otherService) {
this.otherService = otherService;
}
}
다음과 같이 롬복을 사용하고 싶습니다.
@Service
@RequiredArgsConstructor
public class SomeService {
@Lazy private final OtherService otherService;
}
그러나
@Lazy
주석이 작동하지 않습니다. lombok은 필드 주석으로만 표시됩니다.하지만 이 답변을 찾았고 많은 도움이 되었습니다.
Lombok의 클래스 생성자에서 @Lazy 주석을 사용하는 방법은 무엇입니까?
19년 12월 27일
댓글: 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;
}
그러면 롬복은 다음과 같이 처리됩니다.
@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
이 문제에 관하여(롬복을 사용하고 있습니까? 클래스에는 Annotation 매개변수가 있는 생성자가 필요하지 않습니다. 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
이 문제에 관하여(롬복을 사용하고 있습니까? 클래스에는 Annotation 매개변수가 있는 생성자가 필요하지 않습니다. 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.)