Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 상태코드
- 인텔리제이오류
- 스프링
- SpringSecurity
- Static
- SQL
- 스프링오류
- MariaDB
- 의존성주입
- 자바
- API
- spring
- 쿼리
- 시큐리티
- 스웨거
- 오버라이딩
- 스프링시큐리티
- 스프링RESTAPI
- server
- HTTP상태코드
- restAPI
- 서버
- RDBMS
- HTTP
- Swagger
- 어노테이션
- application.yml
- JPA
- Java
- JWT
Archives
- Today
- Total
취뽀몽
[Spring Error] Repository NullPointerException, Cannot invoke ~ because ~repository is null 본문
오류
[Spring Error] Repository NullPointerException, Cannot invoke ~ because ~repository is null
허몽구 2023. 6. 14. 20:27새로운 프로젝트를 진행하며 회원가입 api를 실행했는데 Cannot invoke ~ because ~repository is null 이런 오류가 발생했다.
public interface AdminRepository extends JpaRepository<Admin, Long> {
Admin findByEmail(String email);
}
레포지토리를 확인해보니 제대로 설정 되어있었는데, 어디서 발생했을까 싶어 레포지토리를 주입받는 클래스들을 확인해봤다.
@Service
@RequiredArgsConstructor
public class AdminService {
private AdminRepository adminRepository;
@Transactional
public JoinResponse create(JoinRequest request){
Admin admin = Admin.builder()
.email(request.getEmail())
.password(request.getPassword())
.build();
adminRepository.save(admin);
return JoinResponse.of(admin.getEmail(), admin.getPassword());
}
확인해보니 서비스단에서 @RequiredArgsConstructor를 사용해놓고 접근자를 final로 설정해두지 않았다.
@Service
@RequiredArgsConstructor
public class AdminService {
private final AdminRepository adminRepository;
@Transactional
public JoinResponse create(JoinRequest request){
Admin admin = Admin.builder()
.email(request.getEmail())
.password(request.getPassword())
.build();
adminRepository.save(admin);
return JoinResponse.of(admin.getEmail(), admin.getPassword());
}
final을 선언하고 돌려보니 정상적으로 작동했다.
포스트맨에서도 정상적으로 회원가입 되는 걸 볼 수 있다!
@Autowired 말고 @RequiredArgsConstructor를 사용해서 주입받는 사람들은 final 접근자를 붙였는지 확인해보면 될 것 같다.
'오류' 카테고리의 다른 글
[Spring Error] Cannot load driver class: com.mysql.cj.jdbc.Driver (0) | 2023.10.15 |
---|---|
[Spring Error] Spring Security Deprecated 해결 (0) | 2023.08.07 |
[Error] Mapped Statements collection already contains value for ~ (0) | 2023.06.06 |
[Spring Error] Ambiguous mapping. Cannot map ~ (0) | 2023.05.26 |
[Spring Error] Failed to start bean 'documentationPluginsBootstrapper' 오류 해결 (0) | 2023.05.17 |