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

В чем разница между аннотациями Bean и Service в Spring

@Bean и @Service — это аннотации Spring для создания бинов, но с разными целями:

  1. @Bean
    Используется в конфигурационных классах (@Configuration) для явного определения бина. Возвращаемый объект регистрируется в контексте Spring.
    Пример:
    java
    @Configuration
    public class AppConfig {
        @Bean
        public DataSource dataSource() {
            return new HikariDataSource();
        }
    }
  1. @Service
    Стереотипная аннотация (@Component), помечает класс как сервисный слой. Spring автоматически сканирует и регистрирует его как бин.
    Пример:
    java
    @Service
    public class UserService {
        // бизнес-логика
    }

Ключевые отличия:

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

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

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

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