inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 핵심 원리 - 기본편

옵션 처리

TestBean 클래스 관련 질문입니다.

해결된 질문

1369

준돌

작성한 질문수 3

0

ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class);
해당 코드를 통해서 TestBean 클래스가 컨테이너에 빈으로 등록이 되었으나,

TestBean 클래스 내부의 @Autowired 어노테이션의 warning을 살펴보니 **Autowired members must be defined in valid Spring bean** 라는 경고 문구를 볼 수 있었습니다.

해당 내용은, 자동의존주입을 받기 위해서는 현재 클래스 또한 스프링 빈으로 등록되어 있어야 한다는 의미로 해석했습니다.

결론은, 이러한 경고가 뜨는 이유를 잘 모르겠습니다.

ide가 이 시점에 경고를 잡아주지 못하는 것인가요?


한가지 더 질문을 드리자면,

TestBean 클래스에 @Configuration 애노테이션을 붙이게 되면,


@Autowired
public void setNoBean2(@Nullable Member noBean2) {
System.out.println("noBean2 = " + noBean2);
}

해당 코드에서 noBean2 부분에 빨간 밑줄이 생깁니다. (Could not autowire. No beans of 'Member' type found.)
Member 타입의 빈을 찾을 수 없기 때문에 자동주입을 할 수 없다는 의미인데, 당연히 Member는 빈이 아니지만 왜 @Configuration 애노테이션을 붙였을 때 빨간 밑줄이 뜨는지 이유가 궁금합니다.

@Autowired
public void setNoBean1(Member noBean1) {
System.out.println("noBean1 = " + noBean1);
}

해당 코드 역시 @Configuration 애노테이션이 붙었을 때 noBean1에 빨간 밑줄이 뜹니다.

oop spring

답변 3

1

준돌

귀중한 시간 내주셔서 감사합니다.

1

김영한

안녕하세요. 준석님 

저도 같은 내용이 발생하는데, 저희가 컨테이너를 직접 만들고 그래서, IDE가 잘 인식하지 못하는 듯 합니다.

@Configuration의 경우도 테스트에서 저희가 직접 컨테이너를 만들고 있으니 IDE가 잘 인식을 못하는 듯 합니다.

감사합니다.

1

김영한

안녕하세요. 신준석님

예제는 잘 동작하는데, IDE 경고가 뜬다는 말씀이지요?

저도 한번 확인해볼게요. 전체 프로젝트를 압축해서 올려주세요.

감사합니다.

fieldInjectionTest() 질문

0

58

1

AutoAppConfig의 존재이유

0

52

1

AppConfig와 스프링 빈 질문

0

57

1

[영한님]Spring Boot 및 프로젝트 생성

0

121

2

퀴즈가 안열려요

0

104

2

회원 도메인 인터페이스 개발

0

113

2

빈 스코프 개념의 중요성

0

94

1

SingletonService가 JVM이 뜰 때 생성되는게 맞나요?

0

152

2

섹션3. 11 회원객체 다이어그램

0

81

1

OCP, DIP과 @Qualifier 어노테이션에 대해서 질문합니다.

0

77

1

코드 자료

0

137

2

구현체가 동적으로 정해질 때, 팩토리 기법을 사용하나요?

0

134

2

MemberService의 인터페이스를 왜 사용하는지 궁금합니다.

0

148

1

롬복 @Setter를 써야 하는 상황이 있는건가요?

0

144

1

빈 등록 메서드의 파라미터가 빈이 아니어도 되나요?

0

138

1

테스트 속도가 나중에 영향이 있을까요?

0

128

1

gradle 설정 안떠서 질문 남깁니다!

0

265

2

build.gradle로 프로젝트를 여는 이유

0

161

1

provider 사용하는 이유

0

163

1

다음 강의 뭘 들어야 할까요

0

192

2

프로토타입 빈, 직접 destroy 호출 안 할 경우

0

114

1

beanB

0

135

2

퀴즈다시풀기

0

109

1

Gradle로 바꿔도 오류가 똑같이 발생하네요 ㅠㅠ

0

163

2