【发布时间】:2020-09-21 06:14:11
【问题描述】:
我收到一条错误消息,提示“空白字段 'personRepo' 未初始化”
当我使用 @RequiredArgsConstructor 注释 @Service 类时,我不明白为什么 lombok 没有注入我的最终变量“personRepo”。
@RequiredArgsConstructor 说它注入了带有 @NonNull 注释的 final 字段和变量,所以我不明白为什么。
package nr.learning.service;
import java.util.List;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import nr.learning.domain.Person;
import nr.learning.repository.PersonRepo;
@Service
@RequiredArgsConstructor
public class PersonServiceImpl implements PersonService {
private final PersonRepo personRepo;
@Override
public List<Person> getPersonsByFirstName(String firstname) {
// TODO Auto-generated method stub
return null;
}
@Override
public List<Person> getPersonsByLastName(String lastname) {
// TODO Auto-generated method stub
return null;
}
@Override
public List<Person> getPersonsByFavoriteSoccerTeam(String team) {
// TODO Auto-generated method stub
return null;
}
}
感谢所有答案和提示!
【问题讨论】:
-
这很奇怪,它应该可以工作,我也有我刚刚测试过的服务,它与 RequiredArgsConstructor 注释配合得很好。 IDE 是否抛出编译错误?如果您使用的是 IntellijIdea,请尝试使缓存无效并重新启动
-
我完全同意。这是Eclipse中抛出的编译错误,这是我使用的IDE。我昨天和今天都有问题,我真的不知道为什么.....
标签: java spring-boot dependency-injection lombok