将 Lombok 库添加到项目中。
关键是我通常通过@Autowired
setter 或构造函数注入 spring bean。由于可能的循环依赖,它似乎比 over fields 更安全。
但是在将项目转移到 Lombok 之后,我使用了 annotation @Data
,所以 getter/setter 是不可见的。并且不清楚如何使用@Autowired
. 穿什么?或者如何在没有这个注释的情况下注入?
将 Lombok 库添加到项目中。
关键是我通常通过@Autowired
setter 或构造函数注入 spring bean。由于可能的循环依赖,它似乎比 over fields 更安全。
但是在将项目转移到 Lombok 之后,我使用了 annotation @Data
,所以 getter/setter 是不可见的。并且不清楚如何使用@Autowired
. 穿什么?或者如何在没有这个注释的情况下注入?
@Value
而是@Data
关于 POJO、实体和幂等性。更常见的是在 bin 下,这也@Autowired
意味着@Service
,@Repository
和@Component
它们的派生词。声明注入 bean 的变量
pivate final
以及使用 Lombok 注释就足够了@RequiredArgsConstructor
。User
这是一个真空抽象的例子。UserRepository
->UserService
->UserController
循环依赖是糟糕设计的标志,摆脱它们。最好通过构造函数注入依赖。
如果类型注入是合适的,那么不需要做任何其他事情(对于无状态 bean,使用 @Value,其余的 - @Data)——生成的 lombok 构造函数将工作,spring 将自己注入依赖项。
服务应该是什么样子的一个例子: