O'Reilly logo
live online training icon Live Online training

Getting Started with Spring and Spring Boot

Build, deploy, and monitor powerful server-side systems in Java

Ken Kousen

If you’re an enterprise developer coding in Java, you’ve probably asked yourself, “How can I become a more productive programmer without compromising the speed and flexibility of my applications?” Well, for starters, you can supercharge your existing Java applications—and grow your skills as an enterprise developer—by learning how to program in Spring and Spring Boot.

The surest route to adding Spring and Spring Boot to your developer toolkit is learning directly from one of the masters of the field. Join acclaimed developer, trainer, and consultant Ken Kousen (KousenIT, Inc.) for a 2-day online course on getting started with Spring and Spring Boot. Through hands-on exercises and examples, you’ll learn how to create new server-side applications with the Spring Boot initializer, make effective use of Spring’s transactional, persistence, and injection services, and take advantage of the latest features of both the platform and Java 8. In addition, you’ll learn how to develop and deploy both RESTful web services and MVC applications.

What you'll learn-and how you can apply it

  • How to create a new server-side Java application using Spring Boot
  • The benefits of dependency injection and POJO-based services
  • How to test applications with the Spring TestContext Framework
  • How to integrate relational databases into your application with transactional support

And you’ll be able to:

  • Access relational data with JDBC, JPA, and Spring Data
  • Use Spring-managed transactions to wrap business logic
  • Create and execute unit and integration tests
  • Deploy executable jars containing RESTful web services

This training course is for you because...

  • You are an experienced Java developer who is interested in the latest Spring features
  • You are a team member or leader who needs to build and support Spring and/or Spring Boot applications
  • You are curious about the rapid development, deployment, and monitoring features in Spring Boot

Prerequisites

  • Working knowledge of Java
  • Some knowledge of Java 8 lambdas a plus, but not required
  • Some familiarity with web applications and RESTful services

Note: Courseware will be accessible online, and all code samples will be made available in a public GitHub repository.

Setup information will be provided before the course, but the preferred setup will use Java 8 Standard Edition, the Gradle Build Tool (though a wrapper will be included in the courseware), and an IDE that understands Java.

Recommended Preparation:

Introduction to Java 8

Java 8 in Action (Chapters 1-3)

Java Web Services: Up and Running 2E (Chapters 1-3)

About your instructor

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Day 1

Installing and Configuring Spring Boot (15 min)

  • The Spring Boot CLI
  • Using the Initializr page
  • Automatic configuration

Creating a Spring Application (30 min)

  • Selecting features
  • Customizing dependencies

Exercise: Creating a new application (30 min)

Break: 15 min

Spring Capabilities (30 min)

  • Using dependency injection
  • Java configuration classes
  • Annotations and component scans

Exercise: Building a REST client (30 min)

Testing Spring Applications (15 min)

  • The Spring TestContext Framework
  • Injecting test fixtures
  • Rolling back transactions

Exercise: Accessing the Google Geocoder (15 min)

Day 2

Review of Day 1 material and Q/A (15 min)

Working with Relational Data (30 min)

  • The JdbcTemplate class
  • Building a DAO layer
  • Object-Relational Mapping with JPA

Exercise: Using the JDBC template (30 min)

Transactional Services (15 min)

  • Declarative transaction management
  • Isolation levels
  • Specifying propagation behavior

Exercise: JPA and Spring Data (15 min)

Break (15 min)

Deploying Spring Applications (15 min)

  • Generating executable jar files
  • Creating a war distribution

Exercise: An executable RESTful service (15 min)

Additional Material (15 min)

  • HATEOS and the Hal  Browser
  • Spring services (messaging, email, and more)
  • Resources for future study