Ответ 1
Не совсем. Они принадлежат к разным понятиям.
@Component
представляет собой аннотацию стереотипа. Класс, аннотированный этой аннотацией, будет автоматически обнаружен во время сканирования пути к классу. См. Также справочную документацию Spring главы 5.10. Кроме того, аннотация @Bean
принадлежит функции конфигурации Java. В классе конфигурации эта аннотация используется для обозначения методов, которые определяют beans.