Встречается на собеседованиях • сегодня
Что теряется при использовании @Component вместо @Bean
При использовании @Component вместо @Bean теряется точность конфигурации:
- Гибкость -
@Beanпозволяет создавать бины из методов, включая сторонние классы или сложную логику инициализации, а@Componentработает только с классами под вашим контролем.
-
Условное создание -
@Beanможно комбинировать с@Conditional,@Profileдля условного создания бина, что сложнее с@Component. -
Именование -
@Beanпозволяет явно задать имя бина через метод, а@Componentиспользует соглашение об именах (например,myServiceдляMyService).
Пример:
java
@Configuration
class Config {
@Bean
DataSource dataSource() {
return new HikariDataSource(); // Сложная логика создания
}
}
@Component
class MyService {} // Простое создание
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы