8618  Reviews star_rate star_rate star_rate star_rate star_half

Introduction to Spring 7, Spring Boot 4, and Spring REST

This Spring Boot and Spring Rest training teaches learners how to leverage the latest evolutionary advances in the Spring ecosystem, including Spring 7 and Spring Boot 4. This hands-on course focuses...

Read More
Duration 5 days
Course Code SPRING-COMBO
Available Formats Classroom

Overview

This Spring Boot and Spring Rest training teaches learners how to leverage the latest evolutionary advances in the Spring ecosystem, including Spring 7 and Spring Boot 4. This hands-on course focuses on modern development standards, utilizing Java 25, Jakarta EE 11, and JUnit 6 to build robust enterprise applications. By exploring Spring’s Core module alongside Spring Boot’s auto-configuration and Spring REST, learners gain the knowledge and confidence to reduce coupling and increase application flexibility.
Through extensive practical labs, learners master new features such as the Boot 4 modularization structure, JSpecify annotations, and programmatic bean registration. After attending this course, learners are able to build working Spring applications and understand critical technology concepts.

Skills Gained

  • Understand the core principles of Spring and Dependency Injection (DI) / Inversion of Control.
  • Use the Spring Core module and DI to configure and wire application objects (beans) together.
  • Know the different types of metadata (XML, annotations, Java Configuration, programmatic config) and how to use them.
  • Understand Spring Boot's structure, including its modularization and POM structure.
  • Use Spring Boot to simplify dependency management and configuration.
  • Understand and use Boot's auto-configuration and customize its behavior with properties.
  • Use the complete capabilities of the Core module, such as lifecycle events and bean scopes.
  • Work with the ORM module to integrate Spring with technologies such as JPA.
  • Use Spring Data to automatically generate JPA-based repository classes.
  • Understand and use Spring's transaction support and Java annotation support.
  • Understand REST and use Spring REST to build RESTful services and Ajax-based front ends.
  • Use RestTemplate to create Java REST clients and become familiar with REST Functional endpoints.

Prerequisites

Working knowledge of Java programming, including use of inheritance, interfaces, and exceptions.

Course Details

Overview of Spring Technology

  • Motivation for Spring and Spring Architecture
  • The Spring Framework
  • Maven and Spring

Spring Introduction

  • Declaring and Managing Beans
  • ApplicationContexts - The Spring Container
  • XML and @Component/@Named Config

Dependencies and Dependency Injection (DI)

  • Examining Dependencies
  • Dependency Inversion / Dependency Injection (DI)
  • DI in Spring - XML and @Autowired
  • Spring Boot Quickstart

Java Based Configuration (@Configuration)

  • Overview, @Configuration, and @Bean
  • Dependency Injection and Resolving Dependencies

Integrating Configuration Types

  • XML and @Component Pros/Cons
  • @Configuration Pros/Cons and Choosing a Configuration Style
  • Integrating with @Import and <import>

Bean Scope and Lifecycle

  • Singleton, Prototype, and Other Scopes
  • Configuring Scope
  • Bean Lifecycle / Callbacks

Spring Boot Overview and Structure

  • Spring POMs with Boot Parents
  • Spring Boot Starters
  • SpringApplication – Apps With main()
  • CommandLine Runner and Application Runner

Working with Properties

  • Boot Property Files and Using Application Properties
  • Customizing Behavior with Boot Properties

Testing and JUnit 6 Overview

  • Writing Tests (Classes, asserts, Naming Conventions)
  • Running Tests via IDE and Maven
  • Test Fixtures - setup and teardown

Spring TestContext Framework

  • Overview and Configuration
  • Running Tests

Overview of Spring/Boot Database Support

  • DataSources, Boot Auto-Configuration, and Custom Configuration
  • Boot - Embedded Database

Using Spring/Boot with JPA

  • Spring Boot Auto-Configuration and Scanning
  • Customizing the Configuration
  • Creating a JPA Repository/DAO Bean (@PersistenceUnit, @PersistenceContext)

Spring Data Overview

  • Overview, Architecture, and Configuration
  • Repositories, JPA Repositories, and CrudRepository
  • Defining Queries
  • [Optional] Overview of Configuration Without Boot

Spring Transaction (TX) Management

  • Declarative TX Management (REQUIRED, etc.)
  • TX Scope and Propagation
  • Configuration and Boot Auto-Configuration
  • Pointcut-based Configuration of Transactions

REST Overview and Principles

  • DispatcherServlet - Boot Auto-Config and Customization
  • Requests and Responses - GET, POST, PUT, DELETE

Spring's REST API

  • Spring support for REST
  • @RequestMapping/@PathVariable, @RequestBody, @ResponseBody
  • URI Templates and @RestController
  • REST API Versioning and Ajax Overview

Generating JSON

  • JSON Overview and Representations for Resources
  • Message Converters

[Optional] Generating XML

  • JAXB and Jackson Message Converters for XML
  • JAXB/@XmlRootElement
  • Content Negotiation

Java REST Clients and Patterns

  • Client Requirements and Spring's RestTemplate
  • getForObject(), getForEntity(), and Other Methods
  • REST Patterns: GET, POST, PUT, DELETE

[Optional] REST Functional Endpoints Overview

  • Overview and Routing Requests
  • Handling Requests and Digging Into the API

Boot Configuration and Customization

  • Logging and its Configuration
  • Profiles
  • Nullability and JSpecify Annotations
  • Programmatic Configuration and Other Configuration

Spring Boot Web/Security

  • Spring Boot Web and Embedded Servers
  • Spring Boot Security

Additional Spring/Boot Features

  • Updates to Spring Core
  • Jakarta EE 11 Baseline
  • WebFlux / Reactive Web Framework

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

Good Course. We covered a lot of material in a short amount of time. This course had useful labs that built upon each other.

The technical data in the AWS Solutions Architect course was very thorough.

Thorough explanations by the instructor along guide and practical training sim of software.

the course is good, covers many aspects, wish the lab is a little bit more in depth

It is very good and very simple instructions. almost to much hand holding.