Ответ
Да, изучал Spring Framework и экосистему Spring. Это ведущий фреймворк для создания корпоративных Java/Kotlin приложений.
Основные модули и концепции:
- Spring Core (IoC/DI): Контейнер инверсии управления, который управляет бинами и их зависимостями.
- Spring Boot: Упрощает настройку и запуск приложений через авто-конфигурацию и стартеры (starter-зависимости).
- Spring MVC: Фреймворк для построения веб-приложений и REST API.
- Spring Data: Упрощает доступ к данным (JPA, MongoDB, Redis) через репозитории.
- Spring Security: Комплексный фреймворк для аутентификации и авторизации.
Пример Dependency Injection через конструктор:
@Service
public class UserService {
private final UserRepository userRepository;
// @Autowired не обязателен для единственного конструктора (начиная с Spring 4.3)
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
Ключевые аннотации Spring Boot: @SpringBootApplication, @RestController, @Service, @Repository, @Autowired, @Value.
Работал с Spring Security для реализации аутентификации на основе JWT и ролевой модели, а также с Spring Data JPA для ORM-взаимодействия с реляционными базами данных.