Phi*_*ßen 9 java spring dependency-injection intellij-idea lombok
Lombok支持生成带@Inject注释的构造函数:
@RequiredArgsConstructor(onConstructor = @__(@Inject))
Run Code Online (Sandbox Code Playgroud)
所以,而不是
@Service
public class FooService {
private final BarService barService;
@Inject
public FooService(BarService barService) {
this.barService = barService;
}
}
Run Code Online (Sandbox Code Playgroud)
你可以写
@Service
@RequiredArgsConstructor(onConstructor = @__(@Inject))
public class FooService {
private final BarService barService;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是它似乎打破了IntelliJ中的Spring IDE支持:
BarService).如果我是唯一的开发人员,我会使用第一个版本并完成它.但是,我发现代码库中越来越多的代码被迁移到Lombok构造函数样式.所以,我很好奇:
是否可以将IDEA中的完整Spring支持与Lombok onConstructor = @__(@Inject)构造函数结合使用?
lombok 注释@RequiredArgsConstructor将执行基于构造函数的依赖注入。
@Service
@RequiredArgsConstructor
public class FooService {
private final BarService barService;
}
Run Code Online (Sandbox Code Playgroud)
Java 17 之后record也会这样做 -
@Service
public record FooService(BarService barService) {
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
817 次 |
| 最近记录: |