• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

jobLauncherTestUtils 빨간 줄 질문입니다.

22.04.28 15:08 작성 조회수 946

0

 

jobLauncherTestUtils에 강의에서도 보면 빨간 밑줄표시가 되어 있는데요


Could not autowire. No beans of 'JobLauncherTestUtils' type found


경고 문구를 보면 위에처럼 해당 타입의 빈을 찾을수 없다는 표시인데 실행하면 잘 되더라구요..


그냥 무시하기에는 찝찝해서 왜 이런건지 혹시 알 수 있을까요?

답변 1

답변을 작성해보세요.

2

음..

실제 확인해 보면 JobLauncherTestUtils 클래스가 빈으로 등록되고 있습니다.

public class BatchTestContextCustomizer implements ContextCustomizer {

private static final String JOB_LAUNCHER_TEST_UTILS_BEAN_NAME = "jobLauncherTestUtils";
private static final String JOB_REPOSITORY_TEST_UTILS_BEAN_NAME = "jobRepositoryTestUtils";

@Override
public void customizeContext(ConfigurableApplicationContext context, MergedContextConfiguration mergedConfig) {
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
Assert.isInstanceOf(BeanDefinitionRegistry.class, beanFactory,
"The bean factory must be an instance of BeanDefinitionRegistry");
BeanDefinitionRegistry registry = (BeanDefinitionRegistry) beanFactory;

registry.registerBeanDefinition(JOB_LAUNCHER_TEST_UTILS_BEAN_NAME,
new RootBeanDefinition(JobLauncherTestUtils.class));
registry.registerBeanDefinition(JOB_REPOSITORY_TEST_UTILS_BEAN_NAME,
new RootBeanDefinition(JobRepositoryTestUtils.class));
}

}

스프링 부트가 초기화 될 때 일부분인데 

registry.registerBeanDefinition(JOB_LAUNCHER_TEST_UTILS_BEAN_NAME,
new RootBeanDefinition(JobLauncherTestUtils.class));

보시면 빈으로 정의하고 있습니다

인텔리제이가 인식하지 못할 수도 있습니다.

찝찝하기는 하지만 빈으로 정의하는 과정은 분명히 있으니 신경쓰지 않아도 될 것 같습니다.