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

Что теряется при использовании @Component вместо @Bean

При использовании @Component вместо @Bean теряется точность конфигурации:

  1. Гибкость - @Bean позволяет создавать бины из методов, включая сторонние классы или сложную логику инициализации, а @Component работает только с классами под вашим контролем.
  1. Условное создание - @Bean можно комбинировать с @Conditional, @Profile для условного создания бина, что сложнее с @Component.

  2. Именование - @Bean позволяет явно задать имя бина через метод, а @Component использует соглашение об именах (например, myService для MyService).

Пример:

java
@Configuration
class Config {
    @Bean
    DataSource dataSource() {
        return new HikariDataSource(); // Сложная логика создания
    }
}

@Component
class MyService {} // Простое создание
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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