🔸Prerequisites
• Java Fundamentals. ООП, коллекции, обработка исключений
• Maven и Gradle. Сборка и управление зависимостями
• XML и Annotations. Форматы конфигурации
• Basic SQL.
• JDBC. Драйверы и соединения
• HTTP и Web Basics. REST, JSON, базовые протоколы
🔸Spring Core
• Inversion of Control. Базовый принцип Spring
• Dependency Injection. Конструктор, сеттер, field injection
• Application Context. Контейнер и управление бинами
• Bean Lifecycle. Инициализация и уничтожение
• Bean Scopes. Singleton, prototype, request, session
• Configuration. XML, Java-config, аннотации
🔸Core Annotations
•
@Component. Базовый компонент•
@Service. Слой бизнес-логики•
@Repository. Доступ к данным•
@Controller. Обработка запросов•
@Autowired. Внедрение зависимостей•
@Configuration. Классы конфигурации•
@Bean. Определение бина🔸Spring Boot Basics
• Auto-Configuration. Автонастройка на зависимостях
• Spring Boot Starters. Преднастроенные наборы
• Application Properties. properties и YAML
• @SpringBootApplication. Точка входа
• Embedded Servers. Tomcat, Jetty, Undertow
• Spring Boot CLI. Инструмент командной строки
🔸Spring Web MVC
• DispatcherServlet. Фронт-контроллер
•
@RequestMapping. Маршруты•
@GetMapping и @PostMapping. HTTP-хендлеры•
@RequestParam. Параметры запроса•
@PathVariable. Параметры пути• Model and View. Шаблоны MVC
🔸REST APIs
•
@RestController. Контроллер REST•
@ResponseBody. Тело ответа• HTTP Status Codes.
• Content Negotiation. Форматы JSON и XML
• Exception Handling. @ControllerAdvice и обработчики
• CORS. Политика совместного использования
🔸Spring Data JPA
• JPA Entities. @Entity, @Table, @Id, аннотации
• Repository Pattern. Интерфейсы доступа к данным
• JpaRepository. CRUD-операции
• Query Methods. Методы-запросы по имени
•
@Query Annotation. JPQL и нативные запросы• Relationships. @OneToMany, @ManyToOne, @ManyToMany
• Pagination и Sorting. Параметры страниц и сортировки
🔸Spring Security
• Authentication. Проверка пользователя
• Authorization. Контроль доступа по ролям
• Security Configuration. Фильтры и цепочка безопасности
• Password Encoding. Энкодеры паролей
• JWT Tokens. Статлес-аутентификация
• OAuth2. Внешние провайдеры
• Method Security. @PreAuthorize, @Secured
🔸Aspect-Oriented Programming
• Cross-cutting Concerns. Логирование, безопасность, транзакции
•
@Aspect. Определение аспектов• Pointcuts. Точки среза
• Advice Types. @Before, @After, @Around
• JoinPoints. Места, куда вплетается аспект
🔸Testing
•
@SpringBootTest. Интеграционные тесты•
@WebMvcTest. Тестирование веб-слоя•
@DataJpaTest. Тестирование JPA• MockMvc. Тесты контроллеров без сервера
•
@MockBean. Заглушки в контексте Spring• TestRestTemplate. Тестирование REST
🔸Spring Actuator
• Health Endpoints. Мониторинг состояния
• Metrics. Метрики приложения
• Custom Endpoints. Пользовательские эндпоинты
• Info Endpoint. Информация о сборке
• Environment Properties. Просмотр конфигурации
🔸Microservices
• Spring Cloud. Набор для микросервисов
• Service Discovery. Eureka и Consul
• API Gateway. Spring Cloud Gateway
• Circuit Breaker. Resilience4j и Hystrix
• Configuration Server. Централизованная конфигурация
• Distributed Tracing. Sleuth и Zipkin
🔸Advanced Topics
• Reactive Programming. Project Reactor
• Spring Native. Компиляция в native-image
• Custom Auto-Configuration. Свои автоконфигурации
• Event-Driven Architecture. Событийная модель
• Caching. Абстракция кэширования
• Profiles. Профили конфигураций
🔸Deployment
• Docker Containerization. Образы и контейнеры
• Kubernetes Deployment. Манифесты и Helm
• Cloud Platforms. AWS, GCP, Azure
• CI/CD Pipelines. Стратегии релизов
• Production Monitoring. APM и наблюдаемость
🔸Best Practices
• Project Structure. Слои и модульность
• Configuration Management. Внешние конфиги
• Error Handling. Глобальные обработчики
• Logging. SLF4J и структурированные логи
• Performance Optimization. Кэш, пул соединений, lazy-loading
• Security Hardening. Настройки для продакшена
👉 Java Portal