• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

DI를 필드주입에서 생성자주입으로 변경하니 오류발생하였습니다.

22.01.20 22:20 작성 조회수 578

0

의존성 주입 학습 중에
@Autowired에 private를 쓰는 방식보다
@RequiredArgsConstructor과 private final를 쓰는 방식이 더 우수하다는걸
학습하고 리팩토링 하는 중에 문제가 생겨서 질문을 올리게 되었습니다.
 
몇몇 수정이 되지 않는 코드들이 있어서 사진과 함께 질문 올리고 싶습니다.
 
1. OAUTH 토큰 발급 관련 코드
기존 필드 주입
생성자 주입으로 변경시 컴파일 에러
 
2. 기존의 코드를 상속해서 constructor을 재선언한 코드
기존 필드 주입 방식
생성자 주입으로 변경시 마찬가지로 컴파일 에러
 
뭔가 근본적으로 잘못한것 같은데 어디서부터 손을 대야될지 모른채 고치고 틀리고만 몇시간째 반복하고 있습니다
 
잘 부탁드리겠습니다.

답변 1

답변을 작성해보세요.

1

OMG님의 프로필

OMG

2022.01.21

안녕하세요. ghlim909님, 공식 서포터즈 OMG입니다.

@RequiredArgsConstructor는
초기화 되지않은 final 필드나, @NonNull 이 붙은 필드에 대해 생성자를 생성해 줍니다.

token과 key의 final을 제거하시거나, 롬복을 사용하지 않은 상태에서 주입 받을 대상만 지정한 생성자를 생성해서 해결 가능할 것으로 보입니다.

아래 링크 참고해주세요.

https://medium.com/webeveloper/requiredargsconstructor-를-이용한-의존성-주입-dependency-injection-4f1b0ac33561


감사합니다.