Spring Framework and Spring Boot

  1. Developing Applications with Spring Boot
    1. Configuration Management
      1. Application Properties
        1. application.properties
          1. application.yml
            1. Syntax Differences
              1. Hierarchical Configuration
              2. Type-Safe Configuration
                1. @ConfigurationProperties
                  1. Binding Properties to Beans
                    1. Validation of Configuration Properties
                    2. Profiles
                      1. @Profile Annotation
                        1. Activating Profiles
                          1. Profile-Specific Properties
                            1. Default and Active Profiles
                              1. Conditional Configuration
                              2. External Configuration
                                1. Command Line Arguments
                                  1. Environment Variables
                                    1. Configuration Precedence
                                  2. Building RESTful Web Services
                                    1. REST Principles
                                      1. Statelessness
                                        1. Resource-Oriented Design
                                          1. HTTP Methods
                                            1. Status Codes
                                            2. Using @RestController
                                              1. Mapping Endpoints
                                                1. Request Handling
                                                2. HTTP Status Codes
                                                  1. Standard Codes and Usage
                                                    1. Custom Status Codes
                                                    2. Data Transfer Objects
                                                      1. Purpose and Structure
                                                        1. Mapping Between DTOs and Entities
                                                        2. Content Negotiation
                                                          1. JSON Support
                                                            1. XML Support
                                                              1. Custom Media Types
                                                              2. HATEOAS
                                                                1. Hypermedia Controls
                                                                  1. Spring HATEOAS
                                                                2. Spring Data
                                                                  1. Core Concepts
                                                                    1. The Repository Pattern
                                                                      1. CRUD Operations
                                                                        1. Query Methods
                                                                        2. Spring Data JPA
                                                                          1. @Entity Annotation
                                                                            1. Entity Relationships
                                                                              1. JpaRepository Interface
                                                                                1. CrudRepository Interface
                                                                                  1. PagingAndSortingRepository Interface
                                                                                    1. Query Methods
                                                                                      1. Method Naming Conventions
                                                                                        1. Query by Example
                                                                                        2. Custom Queries
                                                                                          1. @Query Annotation
                                                                                            1. JPQL Queries
                                                                                              1. Native Queries
                                                                                              2. Specifications
                                                                                                1. Auditing
                                                                                                2. Other Spring Data Modules
                                                                                                  1. Spring Data MongoDB
                                                                                                    1. Document Mapping
                                                                                                      1. Repository Support
                                                                                                        1. Query Methods
                                                                                                        2. Spring Data Redis
                                                                                                          1. Key-Value Operations
                                                                                                            1. Caching Integration
                                                                                                              1. RedisTemplate
                                                                                                              2. Spring Data Elasticsearch
                                                                                                                1. Spring Data Cassandra
                                                                                                              3. Validation
                                                                                                                1. Bean Validation
                                                                                                                  1. JSR 380 Overview
                                                                                                                    1. Validation API
                                                                                                                    2. @Valid Annotation
                                                                                                                      1. Validating Request Bodies
                                                                                                                        1. Validating Parameters
                                                                                                                        2. Common Validation Annotations
                                                                                                                          1. @NotNull
                                                                                                                            1. @NotEmpty
                                                                                                                              1. @NotBlank
                                                                                                                                1. @Size
                                                                                                                                  1. @Min and @Max
                                                                                                                                    1. @Pattern
                                                                                                                                      1. @Email
                                                                                                                                      2. Custom Validators
                                                                                                                                        1. Creating Custom Annotations
                                                                                                                                          1. Implementing ConstraintValidator
                                                                                                                                          2. Validation Groups
                                                                                                                                            1. Error Handling
                                                                                                                                              1. BindingResult
                                                                                                                                                1. MethodArgumentNotValidException