Я экспериментировал с примерами из этой официальной весны tutorials и есть зависимость от этого кода:
https://github.com/spring-guides/gs-async-method/tree/master/completeSpring впрыскивает зависимости в конструкторе без @Autowired аннотации
Если вы посмотрите на коде на AppRunner.java класс, у меня есть 2 вопроса:
1) Когда сервер начинает, если я поставил точку останова в конструкторе этого класса, кажется, как в конструкторе GitHubLookupService обеспечивается пружиной, используя @ Сервис bean, который был настроен. НО, не было аннотации @Autowired
на конструкторе, так как в мире этот конструктор вызван с правильной зависимостью? Предполагалось, что это будет null
.
Это автоматическое предположение Весенняя обувь?
ли весна увидеть «частное поле + конструктор аргумент, и он предполагает, что он должен искать соответствующий боба?
ли Spring Framework или Spring загрузки?
Я пропускаю что-то?
2) Как я помню, было бы целесообразно предоставить конструктор по умолчанию для beans/service и т. Д. Почему этот класс (AppRunner) не имеет конструктора по умолчанию? Как Spring знает, что он должен запускать конструктор с аргументом? Это потому, что это единственный конструктор?
Более релевантной ссылкой на документацию будет https://docs.spring.io/spring/docs/4.3.x/spring-framework-reference/htmlsingle/#beans-autowired-annotation – gkc