Lombok @AllArgsConstructor Autowired spring 中的字段是否自动启动?

Does Lombok's @AllArgsConstructor Autowire the fields in spring boot automatically?

我正在按照 YouTube 教程构建 spring 启动应用程序。该人使用了 lombok,因此他在 class 的任何字段上都没有 @Autowired 注释,并且他的代码工作正常。但是,当我尝试相同的操作时,控制台显示该服务为空。

附上适当的代码和输出截图以供参考。

@AllArgsConstructor
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{

private AppUserService appUserService;  
private BCryptPasswordEncoder bCryptpasswordEncoder;

    @Bean
public DaoAuthenticationProvider daoAuthenticationProvider() {
    DaoAuthenticationProvider provider = new DaoAuthenticationProvider();
    provider.setUserDetailsService(appUserService);
    provider.setPasswordEncoder(bCryptpasswordEncoder);
    return provider;
}

}

删除 @AllArgsConstructor 并使用 @Autowired 注释后,我的代码有效。

所以, 将 lombok 依赖项与 spring boot auto 一起使用会自动连接字段吗?如果是,那我犯了什么错误?

PS : 我在 STS 4

上使用 Java 11 和 Spring boot 2.4.5

如前所述这是 lombok 与 STS 的问题。在STS中使用lombok,我们需要做以下事情

  1. 将lombok jar从.m2文件夹复制到安装STS的地方
  2. 将 jar 重命名为 lombok.jar
  3. 找到 SpringToolSuite4.ini 文件(通常在同一文件夹中)并将此行 -javaagent:lombok.jar 添加到文件末尾。
  4. 重启STS