Встречается на собеседованиях • сегодня
В чем разница между @Bean и @Component
@Bean и @Component — это аннотации Spring для создания бинов, но их использование различается:
- @Component
- Используется на уровне класса (класс помечается как компонент).
- Spring автоматически обнаруживает и регистрирует его в контексте при сканировании (
@ComponentScan). - Пример:
java
@Component public class MyService { ... }
- @Bean
- Используется в методах конфигурационных классов (
@Configuration). - Позволяет создавать бины вручную, особенно для сторонних классов или сложной логики инициализации.
- Пример:
java
@Configuration public class AppConfig { @Bean public DataSource dataSource() { return new HikariDataSource(); } }
- Используется в методах конфигурационных классов (
Ключевые отличия:
@Component— для своих классов,@Bean— для любых объектов (включая сторонние библиотеки).@Beanдаёт больше контроля над созданием бина.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы