bla*_*ack 5 spring lazy-loading lombok
给定一个类 AnimalService:
public class AnimalService{
private DogService dogService;
private AnimalService(@Lazy DogService dogService){
this.dogService = dogService;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果我想使用 Lombok 注释,有没有办法保持 @Lazy 加载?
下面的代码会和上面的代码做同样的事情吗?
@AllArgsConstructor
public class AnimalService{
@Lazy
private DogService dogService;
}
@Lazy
public class DogService{
//code
}
Run Code Online (Sandbox Code Playgroud)
这是在 Lombok 中使用 @Lazy 注释的合适方法吗?
Dan*_*ski 16
如果您只想将其用于单个类而不进行全局 Lombok 配置,您可以使用以下代码片段:
@AllArgsConstructor(onConstructor = @__(@Lazy))
public class AnimalService{
@Lazy
private DogService dogService;
}
Run Code Online (Sandbox Code Playgroud)
Maf*_*for 11
它不会开箱即用,但您可以配置 Lombok 以将@Lazy注释从字段复制到构造函数的参数。
lombok.config
lombok.copyableAnnotations += org.springframework.context.annotation.Lazy
Run Code Online (Sandbox Code Playgroud)
该lombok.config应放置在项目的根或src文件夹。
| 归档时间: |
|
| 查看次数: |
1794 次 |
| 最近记录: |