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

Какие плюсы и минусы использования @Component вместо @Bean

Использование @Component и @Bean имеет свои преимущества и недостатки:

Плюсы @Component:

  • Удобство: аннотация ставится прямо над классом, автоматически регистрируя его как бин.
  • Читаемость: явно указывает, что класс является компонентом Spring.
  • Поддержка автоматического сканирования (@ComponentScan).

Минусы @Component:

  • Меньшая гибкость: нельзя кастомизировать создание бина, как в @Bean.
  • Только для своих классов: нельзя использовать для сторонних библиотек.

Плюсы @Bean:

  • Гибкость: полный контроль над созданием бина (логика инициализации, условия).
  • Работает с любыми классами, даже из сторонних библиотек.

Минусы @Bean:

  • Более многословный: требует отдельного метода в конфигурационном классе.

Пример:

java
// @Component
@Component
public class MyService { ... }

// @Bean
@Configuration
public class AppConfig {
    @Bean
    public MyService myService() {
        return new MyService();
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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