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

Как Spring создает бин из @Bean и имени класса

Spring создаёт бины из @Bean и классов следующим образом:

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

    java
    @Configuration
    public class AppConfig {
        @Bean
        public MyService myService() {
            return new MyServiceImpl();
        }
    }
  1. Компонентное сканирование (@Component и др.):
    Классы с @Component, @Service, @Repository автоматически обнаруживаются и регистрируются как бины. Имя бина по умолчанию — имя класса с маленькой буквы.

    java
    @Service
    public class UserService { ... }
  2. Именованные бины:
    Можно явно указать имя бина через @Bean(name = "customName") или @Component("customName").

    java
    @Bean(name = "customService")
    public MyService service() { ... }

Spring управляет жизненным циклом бинов, внедряет зависимости и обрабатывает проксирование (например, для @Transactional).

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

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

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

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