작성
·
322
0
필드 주입을 사용하면 생기는 문제점에 관한 내용을 보다가 궁금한 것이 생겨서 질문드립니다.
스프링의 @Autowired 가 동작하지 않는 순수한 자바 테스트 코드에서, @Autowired가 붙은 필드, setter함수, 생성자는 @Autowired가 없는 순수 자바 코드로 동작한다고 생각하면 되나요?
예를 들어,
OrderServiceImpl 클래스에는 필드 or setter 함수 or 생성자에 @Autowired 가 붙어있는데,
OrderServiceTest 클래스에서는 순수한 자바 코드만으로 테스트를 수행하려고 할 때, OrderServiceImpl 클래스의 필드 or setter or 생성자를 @Autowired가 없다고 생각하고 갖고와서 쓸 수 있는지 궁금합니다.
또, 이 상황에서 테스트코드에서 따로 @Autowired에 의해서 발생하는 오류는 없는지 궁금합니다.
답변 1
0
안녕하세요, 세승 님! 공식 서포터즈 codesweaver 입니다.
@Autowired 가 동작하기 위해선 스프링 컨테이너가 존재해야 합니다.
순수 자바로 테스트 코드를 실행할 땐 스프링 컨테이너가 존재하지 않기에 @Autowired 는 무시 됩니다.
감사합니다.