Назад к вопросам
Middle
70
questionbank

Где используется аннотация @Bean?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Аннотация @Bean используется над методами в классах, помеченных @Configuration. Она указывает, что метод возвращает объект, который Spring IoC-контейнер должен зарегистрировать как Bean.

Основные области применения:

  • Создание и настройка объектов, которые сложно или невозможно создать с помощью @Component-сканирования (например, сторонние библиотеки).
  • Предоставление Spring доступа к экземплярам классов из других фреймворков или модулей.
  • Определение bean'ов с особыми зависимостями или жизненным циклом.

Пример:

package com.example.demo.config;

import com.example.demo.service.MyService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration // Указывает, что этот класс содержит методы @Bean
public class AppConfig {

    @Bean // Аннотация над методом, возвращающим bean
    public MyService myService() {
        return new MyService(); // Создание экземпляра MyService
    }

    @Bean // Другой bean, который может зависеть от предыдущего
    public AnotherBean anotherBean(MyService myService) {
        return new AnotherBean(myService);
    }
}