Ответ
Базовым компонентом Spring Framework является IoC-контейнер (Inversion of Control Container), который реализует принцип инверсии управления. Его основная реализация — интерфейс ApplicationContext, расширяющий базовый BeanFactory.
ApplicationContext отвечает за:
- Создание и управление жизненным циклом объектов (бинов).
- Внедрение зависимостей (Dependency Injection).
- Конфигурацию приложения (через XML, аннотации или Java-код).
- Предоставление расширенных возможностей: AOP, управление транзакциями, интернационализация, обработка событий.
Пример конфигурации и запуска:
@Configuration
@ComponentScan("com.example")
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
public class MainApp {
public static void main(String[] args) {
// Создание и запуск контекста на основе Java-конфигурации
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
MyService service = context.getBean(MyService.class);
service.execute();
}
}