inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

스프링 메시지 소스 사용

MessageSource를 ms로 바꾸면 Could not autowire라고 나옵니다.

해결된 질문

589

lwisekiml

작성한 질문수 18

1

제목과 같이 MessageSource 변수명을 ms로 바꾸면 빨간줄이 나오는데 어떻게 해결해야 하나요?

강의 소스를 열어도 똑같이 빨간줄이 나옵니다.ㅜㅠ

 

@Aotuwired위에

@Qualifier("messageSource")

를 하면 되기는 하는데 왜 저는 @Qualifier을 해야 되는 걸까요?

 

 

spring MVC

답변 1

1

OMG

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

제공해드리는 프로젝트 코드에서

"message" 폴더를 열어서 코드 수정 하지않고 확인해주세요.("message-start" X)

제공해드리는 프로젝트 코드를 제 개발환경에서 인텔리제이 커뮤니티 버전(좌), 얼티메이트 버전(우) 다 확인해보았는데 올리신 에러메시지는 출력되지 않았습니다.

 


감사합니다.

0

lwisekiml

"message" 폴더에 있는 코드도 역시 빨간 줄이 나옵니다.

하다가 다른 해결 방법을 찾았는데, 위 사진과 같이 ms를 messageSource로 다 고치면 실행이 되는데 이유를 모르겠습니다. 혹시 이유를 알 수 있을까요?

 

0

OMG

@Autowired는 타입 매칭 시도 후, 동일 타입이 존재하면 필드명으로 매칭을 시도하는데 이 부분에서 문제가 발생하는 것 같습니다.

 

생성자 주입으로 바꿔서 해보시겠어요?

private final MessageSource ms;

@Autowired
public MessageSourceTest(MessageSource messageSource) {
this.ms = messageSource;
}

+

다른 클래스에서도 필드 주입으로 메시지소스 주입 시 동일한 에러가 발생하는지요?

0

lwisekiml

생성자 주입으로 하니 정상 동작합니다. 

생성자 주입 관련 공부도 다시 해봐야 겠네요. 감사합니다.^^

 

+ 메시지, 국제화 강의에서 사용하는 다른 클래스에서는 @Autowired를 사용하지 않아 잘은 모르겠습니다. 여태까지 강의를 들으면서 이런 경우는 처음인것으로 보아 어느 부분인지는 모르지만 제 인텔리제이 설정이나 다른 부분이 잘못 되었을꺼 같습니다.

단순히 빨간줄만 없애는 것은 @SpringBootTest를 지우면 빨간 줄은 사라지지만, helloMessage()실행하면 아래와 같이 실행은 안됩니다.

 

 

0

OMG

@SpringBootTest를 포함해야 테스트에서 스프링 컨테이너가 실행되어 빈 등록과 주입이 발생하며 스프링 테스트가 진행됩니다.

이미지 업로드와 db 트랜잭션 묶는법

0

43

1

Could not resolve org.springframework.boot:spring-boot-starter-validation:2.4.4

0

53

2

MessageSourceTest 코드

0

49

1

인터셉터 에러 설정

0

48

1

resolveArgument()메서드 질문

0

57

1

43강 검증1 에서 실패 로직 관련 질문있습니다.

0

58

2

타임리프 3.X 버전 rendering, serializer 에러 해결 방법

2

133

3

스프링 빈에 등록이 안되는거 같은데 어떻게 하면 좋을까요?ㅠㅠ

0

90

3

pdf 오타 문의

0

57

1

ItemUpdateForm 검증 관련 질문입니다.

0

49

1

22page 링크 주소 변경

0

59

2

특정 데이터와 파일을 함께 저장 시, 테이블 구조 질문

0

53

1

섹션3번 수업에 대한 질문입니다.

0

80

2

@Autowired 보다 더 좋은 방법이 어떤 걸까요?

0

85

2

타입컨버터 가 람다랑 비슷해 보이는데 저의 생각이 맞는지?.

0

66

1

자바스크립트 인라인에서 객체 직렬화 시 오류가 납니다

0

142

3

스프링부트 - 오류페이지2 에서 500.html 에서 쓰인 객체 질문

0

63

1

톰캣 에러 페이지가 안보입니다.

0

104

2

apiEceptionController에서 센드 에러 호출하면 안되는지?

0

81

1

세션 타임아웃시 쿠키 삭제 방법이 없나요?

0

118

2

ApiExceptionController 질문드립니다.

0

64

1

셀렉박스 챕터에서 option value에 ==배송 방식 선택== 이것을 넣은 이유가 궁금함, 이렇게 구상해도 되는지?

0

66

1

MemberRepository 필드의 fianl 선언 유무

0

85

2

혹시 index.html 에서는 fragment 사용이 안되는건가요

0

58

1