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

В чем разница между @Component, @Bean и @Service

@Component — базовая аннотация Spring, помечающая класс как компонент для автоматического сканирования и управления контекстом.

@Service — специализированная версия @Component, используется для бизнес-логики, но функционально идентична.

@Bean — аннотация метода в конфигурационном классе (@Configuration), возвращающего объект для управления Spring. Используется, когда нужно явно определить бины (например, сторонние библиотеки).

Пример:

java
@Component  
public class MyComponent { ... }  

@Service  
public class MyService { ... }  

@Configuration  
public class AppConfig {  
    @Bean  
    public DataSource dataSource() {  
        return new HikariDataSource();  
    }  
}  

Разница:

  • @Component/@Service — для классов, @Bean — для методов.
  • @Bean требует конфигурационного класса, остальные — автоматическое сканирование.
  • @Service семантически выделяет сервисный слой.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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