Встречается на собеседованиях • сегодня

Для чего нужна @Bean, если можно использовать @Component

@Bean и @Component служат для регистрации бинов в контексте Spring, но имеют ключевые различия:

  1. @Bean используется в конфигурационных классах (@Configuration) для явного определения бина. Подходит для:
    • Создания бинов из сторонних классов (например, библиотек).
    • Тонкой настройки бина (например, установки свойств).

Пример:

java
@Configuration
public class AppConfig {
    @Bean
    public DataSource dataSource() {
        return new HikariDataSource();
    }
}
  1. @Component — аннотация для автоматического сканирования и регистрации класса как бина. Подходит для собственных классов, где не требуется сложная логика создания.

    Пример:

    java
    @Component
    public class MyService { ... }

Итог: @Bean — для гибкости и сторонних классов, @Component — для простых случаев.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы