Я прочитал это заявление в Spring doc
@ContextConfiguration определяет метаданные на уровне класса, которые используются для определения того, как загружать и настраивать ApplicationContext для интеграционных тестов.
В частности, @ContextConfiguration объявляет расположения ресурсов контекста приложения или аннотированные классы, которые будут использоваться для загрузки контекста.
Затем я пытаюсь загрузить контекст приложения в основном классе (не в тестовом классе), помещая @ContextConfiguration вверху класса, однако Spring не может загрузить определение компонента.
AppJavaBasedConfig
@Configuration
public class AppJavaBasedConfig {
@Bean
public IStringUtil stringUtil() {
return new StringUtil();
}
@Bean
public App app() {
return new App();
}
}
Главная
@ContextConfiguration(classes=AppJavaBasedConfig.class)
public class App {
@Autowired
private IStringUtil stringUtil;
public static void main(String[] args) {
// ApplicationContext context = new AnnotationConfigApplicationContext(AppJavaBasedConfig.class);
// App app = context.getBean(App.class);
App app = new App();
app.stringUtil.lower("AAA");
}
}
Он выдает исключение NullPointerException.
Итак, можем ли мы использовать эту аннотацию в основном классе?