Когда я создаю контекст:
new AnnotationConfigApplicationContext(SpringApp.class);
где SpringApp не аннотируется ни @ Конфигурация, ни чем-либо еще. Я все равно получаю bean-компонент springApp. Почему? В документации говорится
Create a new AnnotationConfigApplicationContext, deriving bean definitions from the given annotated classes and automatically refreshing the context.
Поэтому я не могу понять, почему создается bean-компонент springApp, если там нет аннотаций.
Ваше замешательство законно. Spring не обрабатывает SpringApp.class, поскольку конфигурация но учитывает получение определений bean-компонентов. Spring-App-Instnce имеет одноэлементную область видимости.
Из документации:
(red:the Constructor) Create a new AnnotationConfigApplicationContext, deriving bean definitions from the given annotated classes and automatically refreshing the context.
Действительно, мы можем найти эту фразу в Интернете. Но что означают классы «совместимые с JSR-330»? Классы с нулевым конструктором?