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

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