Встречается на собеседованиях • сегодня
Какой аннотацией можно пользоваться вместо другой: @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.
В остальных случаях аннотации не взаимозаменяемы.

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