• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

JobLauncher의 의존성 주입

22.11.23 22:18 작성 조회수 296

0

이렇게 RequiredArgsConstructor를 이용해서 빈 주입을 받으면 괜찮은데

 

강사님 처럼

이렇게 주입을 받을려고 하면 jobLauncher의 의존성 주입이 되지 않더라고요

이 부분 질문 드립니다!

 

 

답변 1

답변을 작성해보세요.

0

dduckmane 님 안녕하세요 :)
사진 처럼 생성자(RequiredArgsConstructor) 주입은 되고, 필드(Autowired) 주입이 안되고 있으신거 같아요😢
제 환경에서는 모두 동작을 하기에 정확한 원인을 찾기에 어려움이 있는데요.
지금 같은 경우는 사진으로만 보면 명확하게 판단하기 쉽지 않고 직접 재현을 해보기에 어려움이 있습니다. 혹시 Github 저장소에 코드를 올려놓으신게 있다면 재현을 직접 해보고 확인을 해야 될 것 같습니다.

dduckmane님의 프로필

dduckmane

질문자

2022.11.24

dduckmane/SpringBathchTutorial (github.com)

여깃습니다!

강사님 말대로 생성자 주입만 되고 필드주입은 안되는지 알려주시면 감사하겠습니다!

코드 내용 확인 및 클론 후에 세팅까지 하여 직접 구동되는 것을 확인을 하였습니다.

image
올려주신 코드를 제 컴퓨터에서 배치 작업을 구동했을 때 2가지 케이스 모두 모두 정상적으로 동작을 하고 있습니다😢
실행시키실 때 main 메서드를 직접 실행을 시켜주셨을까요?
생성자 주입은 방식만 다를 뿐 2가지 모두 동작을 해야될 것으로 판단이 되는데 조금 의아합니다 ㅠ.ㅠ

재현이 안되면 정확한 원인을 파악하기에 어려움이 있습니다. (원래는 2개 모두 동작을 해요.)
스프링 부트에서 권장하는 방식은 생성자(RequiredArgsConstructor) 주입 방식을 권장하니 학습 하시는 단계에서는 생성자 주입 방식을 사용하여 학습하시기를 권장드립니다.
시원한 답변을 드리지 못해 죄송합니다.

dduckmane님의 프로필

dduckmane

질문자

2022.11.24

계속 번거롭게 해드려 죄송합니다 ㅜㅜ

image

저도 main을 실행하긴 하는데 저는

image

이렇게 부트를 실행시켜서 지금까지 진행을 하였는데

부트를 실행시키는 것과 강사님이 말씀하시는 main을 실행시킨다는 의미는 다른건가요??

아니요 같은 의미입니다 ㅠ.ㅠ 사진 처럼 main 함수를 실행시켜주셨는지 여쭈어봤었습니다.
학습동안에는 생성자 주입방식을 통해서 학습을 하시기를 권장 드릴게요😢
(실제 개발에서도 생성자 주입방식을 권장을 해요:) )