出现此种问题的大体结构如下:
@Slf4j
@Service
@AllArgsConstructor
public class AServiceImpl extends ServiceImpl<AMapper, A> implements AService {
private final BService bService;
@Value("${export.address}")
private String exportAddress;
}
修改为
@Slf4j
@Service
@RequiredArgsConstructor
public class AServiceImpl extends ServiceImpl<AMapper, A> implements AService {
private final BService bService;
@Value("${export.address}")
private String exportAddress;
}
知识点:
注解 | 生成的构造函数参数 | 适用场景 |
---|
@AllArgsConstructor | 所有字段(不管是否 final 或 @NonNull ) | 快速构造包含所有字段的对象 |
@RequiredArgsConstructor | 只有 final 或 @NonNull 修饰的字段 | 更精简、更安全的构造方式,强调依赖注入 |