• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

스프링 컨테이너를 테스트에 통합한 경우

24.02.06 16:15 작성 조회수 133

0

강의자료에 아래의 문장이 있습니다.

 

순수한 자바 테스트 코드에는 당연히 @Autowired가 동작하지 않는다. @SpringBootTest 처럼 스프링 컨테이너를 테스트에 통합한 경우에만 가능하다.

 

이 말의 의미가 아래 2가지 경우 모두 해당되는게 맞을까요?

1) @SpringBootTest 이 있는 클래스 내부에서 @Autowired 를 사용해서 의존관계주입하는 경우

 

2) Class 내부에 @Autowired 를 사용해서 의존관계를 표시하고
new AnnotationConfigApplicationContext(test.class) 으로 스프링 컨테이너를 생성한 경우

 

 

 

답변 1

답변을 작성해보세요.

1

codesweaver님의 프로필

codesweaver

2024.02.07

안녕하세요. 공부하는이님, 공식 서포터즈 코즈위버입니다.

네 맞습니다. @Autowired 는 스프링 환경에서만 동작합니다.

그래서 스프링 환경이 아닌경우, @Autowired 등의 기능을 이용하실 수 없습니다.

의존관계 주입이 필요할 경우 개발자가 집적 주입해야 합니다.

감사합니다.