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

Какие знаешь способы создания бина, кроме XML-конфигурации и аннотаций

  1. Java Config — использование классов с аннотацией @Configuration и методов с @Bean:
java
@Configuration
public class AppConfig {
    @Bean
    public MyService myService() {
        return new MyServiceImpl();
    }
}
  1. Groovy DSL — конфигурация через Groovy-скрипты (работает в Spring 4+):
groovy
beans {
    myService(MyServiceImpl)
}
  1. Функциональный стиль (Spring 5+) — регистрация бинов через FunctionalWebApplicationContext:
java
var context = new AnnotationConfigApplicationContext();
context.registerBean(MyService.class, MyServiceImpl::new);
context.refresh();
  1. Программное создание — через BeanDefinitionRegistryPostProcessor:
java
@Component
public class CustomBeanRegistrar implements BeanDefinitionRegistryPostProcessor {
    @Override
    public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) {
        RootBeanDefinition beanDef = new RootBeanDefinition(MyServiceImpl.class);
        registry.registerBeanDefinition("myService", beanDef);
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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