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

Какой аннотацией можно пользоваться вместо другой: @Bean или @Component

@Bean и @Component служат разным целям, но иногда могут заменять друг друга в зависимости от контекста.

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

Когда заменять?

  • Если класс ваш и можно добавить @Component — используйте его.
  • Если бин требует сложной логики создания или это сторонний класс — @Bean.

В остальных случаях аннотации не взаимозаменяемы.

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

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

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

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