gpt4 book ai didi

java - Lombok 不生成 RequiredArgsConstructor 和 AllArgsConstructor

转载 作者:搜寻专家 更新时间:2023-10-31 19:42:55 28 4
gpt4 key购买 nike

我正在使用 Lombok 1.16.18 和 Gradle 4.0 以及 Java 8 和 Spring-Boot 1.5.9.RELEASE。

当我构建并运行项目时它成功了,但是当调用包含 Autowiring 的服务时它失败并出现 NullPointerException 使用@RequiredArgsConstructor(onConstructor = @__(@Autowired))@AllArgsConstructor(onConstructor = @__(@Autowired))

我检查了生成的 .classes,它们缺少构造函数。

当然,如果我手动创建构造函数并将 @Autowire 放在上面,它就可以工作。但是我正在做一个有很多现有代码的大项目,不想重写所有的东西。关于为什么会发生这种情况的任何想法?看起来 gradle 或 lombok 没有预处理这些注释,但是所有其他 @Getter@Setter 等都工作正常,生成的 .class 文件包含它们。 .

最佳答案

我使用构造函数注入(inject)仅定义 @RequiredArgsConstructorfinal 成员变量如下(不使用 onConstructor)

@Repository
@Slf4j
@RequiredArgsConstructor
public class FieldRepository {

private final DSLContext dsl;

private final DataSource dataSource;

//... dsl and datasource are correctly injected

}

关于java - Lombok 不生成 RequiredArgsConstructor 和 AllArgsConstructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54329549/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com