Course Outline
Introduction to the Spring Framework
- Survey of the Spring ecosystem
- Concepts of Inversion of Control (IoC) and Dependency Injection (DI)
- Overview of Aspect-Oriented Programming (AOP)
Spring Configuration and Bean Lifecycle
- XML-based configuration methods
- Understanding the Bean lifecycle and BeanPostProcessor
- Testing Spring applications using Mockito
Annotation-based Configuration
- Utilizing @Component and @Autowired annotations
- Integrating XML and annotation-based configurations
- Employing @Configuration and JavaConfig for XML-free setups
Getting Started with Spring Boot 3.5.5
- Core concepts of Spring Boot
- Setting up a Spring Boot project via Spring Initializr
- Developing and executing the initial REST application
Aspect-Oriented Programming (AOP) and Transactions
- Integrating AspectJ with Spring: principles and setup
- Comprehending declarative transactions in Spring
- Transaction configuration using XML and @Configuration
Data Persistence with Spring and JPA
- Configuring JPA and establishing database connections
- Implementing DAO and Repository layers with JPA Boot configuration
- Managing properties and extracting profiles
Building RESTful Applications with JPA
- Developing basic CRUD REST APIs with JPA
- Constructing CRUD REST endpoints with nested beans
- Jackson serialization: utilizing @JsonIgnore, managing Hibernate proxies, and preventing circular references
Advanced REST and Data Handling
- Employing REST DTOs with MapStruct
- Exception handling in REST applications
- Understanding JPA double model patterns
Spring REST with Spring Data JPA
- Deriving queries via method names
- Implementing pagination and sorting with Spring Data JPA
- Executing custom queries using @Query
Summary and Next Steps
Requirements
- Fundamental knowledge of Java programming
- Proficiency in object-oriented programming principles
- Working knowledge of build tools such as Maven or Gradle
Target Audience
- Java developers starting their exploration of the Spring ecosystem
- Software engineers aiming to rapidly develop RESTful web applications
- Coders seeking practical experience with modern Spring Boot and JPA
Testimonials (4)
Detailed information provided on the more advanced topics requested.
Farukh Khan - Tandem Solution
Course - RabbitMQ with Java and Spring
In this training we’re not only learned for the fundamental technical knowledge of Java spring/technology and most important things we also gaining the worldly knowledge which you have shared with us during the class.
Kelvin Low - Sonova Warsaw Service Center Sp z o o
Course - Java 8 and Spring
Everything. The trainer has the best teaching skills I've seen in my life.
Pablo Rodriguez Rubio - NOESIS SOLUTIONS NV
Course - Spring and Hibernate in Java Applications
I liked that I had a chances to play with code during exercises (not only coding, what trainer prepared).