В документации Spring говорится, что мы можем автоматически связать контекст с полем, аргументом конструктора или параметром метода с помощью DI (
https://docs.spring.io/spring-framework ... ature.html #beans-factory-aware), поэтому я предположил, что это bean-компонент и будет возвращен методом getBean класса ApplicationContext (я знаю, что это было бы совершенно избыточно, но мне стало любопытно, лол), но каждый раз, когда я пытаюсь его получить используя первый метод, он выдает исключения, сообщающие, что компонент не найден, я постараюсь прояснить это на примере:
Код: Выделить всё
@Component
public class MyBean {
//Parameters Injected by Spring
public MyBean(ApplicationContext context){
SaveFileRepository repository = context.getBean(SaveFileRepository.class);//This works as expected and gives no exception
ApplicationContext context2 = context.getBean(AnnotationConfigApplicationContext.class);//This gives the exception, though the context iss autowired by spring in the same constructor the programmer cant get it by the method
}
}
Кто-нибудь знает, в чем причина этого?
Подробнее здесь:
https://stackoverflow.com/questions/771 ... ontext-bea