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

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

Sobes Copilot

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

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

sobes.tech AI

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

Примеры использования:

В классе конфигурации:

@Configuration
public class AppConfig {

    @Bean
    public MyService myService() {
        // Логика создания экземпляра бина
        return new MyService();
    }

    @Bean
    public AnotherBean anotherBean(MyService myService) {
        // Внедрение зависимости другого бина
        return new AnotherBean(myService);
    }
}

С разными областями видимости (scopes):

@Configuration
public class SecurityConfig {

    @Bean
    @Scope("prototype") // Каждый запрос будет получать новый экземпляр
    public SecurityService securityService() {
        return new SecurityService();
    }
}

С указанием имени бина:

@Configuration
public class DatabaseConfig {

    @Bean(name = "myDataSource")
    public DataSource dataSource() {
        // Настройка и возврат DataSource
        return new BasicDataSource();
    }
}