Ответ
Spring Core — это фундаментальный модуль, реализующий принципы Inversion of Control (IoC) и Dependency Injection (DI), которые составляют основу всего фреймворка.
Основные функции:
- IoC-контейнер: Создаёт, конфигурирует и управляет жизненным циклом объектов (бинов).
- Внедрение зависимостей (DI): Автоматически связывает компоненты, уменьшая связанность кода.
- Унифицированная конфигурация: Поддерживает XML, аннотации (
@Component,@Autowired,@Configuration) и Java-based конфигурацию. - Дополнительные возможности: Включает базовую поддержку AOP, работу с событиями, валидацию данных и язык выражений SpEL (Spring Expression Language).
Пример конфигурации через аннотации:
@Component
public class OrderService {
@Autowired // DI: контейнер внедрит зависимость
private PaymentProcessor paymentProcessor;
public void processOrder(Order order) {
paymentProcessor.charge(order);
}
}
Почему это важно: Spring Core отделяет конфигурацию и сборку объектов от бизнес-логики, что делает приложение более модульным, тестируемым и гибким. Все остальные модули Spring (Boot, Data, Security) строятся на этой основе.