Skip to content
  • Sign In
  • Try Now
View all events
Spring

Spring and Spring Boot in 3 Weeks

Published by O'Reilly Media, Inc.

Beginner to intermediate content levelBeginner to intermediate

Build and monitor powerful server-side systems and web services in Java

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 (Kousen IT, Inc.) for a three-part series that will get you up and running 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 Spring platform and Java 8. Along the way, you’ll also discover how to develop and deploy both RESTful web services and MVC applications.

Week 1: Spring and Spring Boot Fundamentals

Week 1 focuses on creating new server-side applications with the Spring Boot initializer. You’ll also learn how to take advantage of the latest features of both the Spring platform and Java 8.

Week 2: Spring Persistence—JdbcTemplate, JPA, and Spring Data

Applications generate data, and that data needs to be managed beyond the life of the application. Spring provides several ways to work with persistent data. Week 2 focuses on three primary ways to work with relational databases: through the JdbcTemplate class, using Hibernate and the Java Persistence API (JPA), and using the generated DAO layer provided by Spring Data. You’ll also dive into how to access NoSQL databases.

Week 3: Spring MVC—Web Applications and RESTful Web Services

The Spring MVC module helps you generate both web applications and RESTful web services, through both an annotation-based approach and so-called functional endpoints. Week 3 takes you beyond the basics to cover the full range of HTTP verbs. You’ll also learn how to do error handling, perform integration testing, and work with profiles so you can switch between databases during development, test, and production.

NOTE: With today’s registration, you’ll be signed up for all three sessions. Although you can attend any of the three sessions individually, we recommend participating in all three weeks and pursuing the skills challenges in between sessions.

Skills challenges

At the end of each week, Ken will provide you with a skills challenge—an interactive scenario-based evaluation to help you determine whether you’ve mastered the skills taught in the live training and whether you’re ready to apply these skills in a real-world setting.

To reinforce your learning, we strongly recommend pursuing each skills challenge before the next week of the course. If you’re unable to successfully complete the challenge, try reviewing the video recording of the live training (emailed to you 24 hours after each session) for tips.

What you’ll learn and how you can apply it

By the end of this live, hands-on three-part series, you’ll understand:

Week 1: Spring and Spring Boot Fundamentals

  • How to create server-side Java applications using Spring Boot
  • How dependency injection and POJO-based services work under the hood
  • How to implement unit, integration, and functional tests of applications with the Spring TestContext Framework
  • When to use JAR versus WAR to deploy your artifacts
  • How Spring-generated microservices fit into an overall layered architecture

Week 2: Spring Persistence—JdbcTemplate, JPA, and Spring Data

  • How to add relational databases to your application
  • How to select among transactional propagation and isolation options
  • How to map entities to database tables in way that’s compatible with Hibernate and the Java Persistence API
  • How to generate your entire persistence layer using Spring Data
  • How to test persistent applications

Week 3: Spring MVC—Web Applications and RESTful Web Services

  • The architecture of Spring MVC applications
  • The extensive simplifications provided by Spring Boot
  • Spring layers of controllers, handler mappings, and template engines
  • How to apply the concepts of RESTful web services to Spring

And you’ll be able to:

Week 1: Spring and Spring Boot Fundamentals

  • Create web applications and RESTful web services
  • Create and execute unit and integration tests
  • Deploy executable JARs containing RESTful web services

Week 2: Spring Persistence—JdbcTemplate, JPA, and Spring Data

  • Access relational data with JDBC
  • Map entities using JPA and Hibernate
  • Use Spring-managed transactions to wrap business logic
  • Delegate your persistence layer to Spring Data

Week 3: Spring MVC—Web Applications and RESTful Web Services

  • Build and configure Spring MVC web applications
  • Test and deploy both web apps and RESTful web services
  • Handle error conditions
  • Work with handlers and functional endpoints

This live event is for you because...

  • You’re an experienced Java developer who’s interested in the latest Spring features.
  • You’re a team member or leader who needs to build and support Spring or Spring Boot applications.
  • You’re curious about the rapid development, deployment, and monitoring features in Spring Boot.
  • You’re an experienced Java developer who’s interested in how Spring MVC can improve your web apps.
  • You’re a team member or leader who needs to build and support applications using the Spring Framework.
  • You want to learn how Spring Boot can simplify and improve both web applications and RESTful web services.

Prerequisites

  • A working knowledge of Java 8 or above
  • Familiarity with Java web development and web services

Recommended preparation:

Recommended follow-up:

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Week 1

Installing and configuring Spring Boot (30 minutes)

  • Presentation: Using the Initializr to generate Spring applications with the dependencies you need; automatic configuration provided by Spring Boot; IDE support and options
  • Q&A

Creating a Spring application (70 minutes)

  • Presentation: Selecting features; customizing dependencies
  • Hands-on exercise: Create a new application
  • Q&A
  • Break

Spring capabilities (70 minutes)

  • Presentation: Using dependency injection; Java configuration classes; annotations and component scans
  • Hands-on exercise: Build a REST client
  • Q&A
  • Break

Testing Spring applications (70 minutes)

  • Presentation: The Spring TestContext Framework; injecting test fixtures; rolling back transactions
  • Hands-on exercise: Access the Google geocoder
  • Q&A

Week 1 Skills Challenges:

Week 2

Review of Week 1 (30 minutes)

  • Presentation: Review of previous material; solution to Week 1 skills challenge
  • Q&A

Working with relational data (70 minutes)

  • Presentation: The JdbcTemplate class; building a DAO layer; object-relational mapping with JPA
  • Hands-on exercise: Use the JDBC template
  • Q&A
  • Break

Transactional services (70 minutes)

  • Presentation: Declarative transaction management; isolation levels; specifying propagation behavior
  • Hands-on exercise: Work with JPA and Spring Data
  • Q&A
  • Break

RESTful services (30 minutes)

  • Hands-on exercise: Build an executable RESTful service

Additional material (30 minutes)

  • Presentation: HATEOS and the HAL Browser; Spring services (messaging, email, and more); resources for future study
  • Q&A

Week 2 Skills Challenges:

Week 3

Review of Week 2 (20 minutes)

  • Presentation: Review of previous material; solution to Week 2 skills challenge
  • Q&A

Spring MVC architecture (30 minutes)

  • Presentation: Major concepts; processing requests and responses; configuration options; test support
  • Q&A

Spring Boot simplifications (40 minutes)

  • Presentation: Spring MVC autoconfiguration; HTTP message converters; custom JSON serializers; static content; template engines
  • Hands-on exercise: Explore a basic web app and RESTful web service
  • Q&A
  • Break

Special bean types (20 minutes)

  • Presentation: Handler mappings; view resolvers; filters and interceptors; exception resolvers
  • Q&A

Responding to requests (35 minutes)

  • Presentation: Types of view resolvers; redirects; forwards; content negotiation
  • Q&A
  • Break

Annotated controllers (30 minutes)

  • Presentation: Request mapping; handler methods; model objects; data binding
  • Hands-on exercise: Use forwards, redirects, and content negotiation
  • Q&A

Functional endpoints (35 minutes)

  • Presentation: Handler functions; router functions; filters
  • Q&A
  • Break

Additional topics (20 minutes)

  • Presentation: Logging; asynchronous requests; CORS; HTTP caching; HTTP/2
  • Hands-on exercise: Secure your application

Wrap-up and Q&A (10 minutes)

Week 3 Skills Challenges:

Your Instructor

  • Ken Kousen

    Ken Kousen is the author of the Kotlin Cookbook (O'Reilly), Modern Java Recipes (O'Reilly), Gradle Recipes for Android (O’Reilly), and Making Java Groovy (Manning), as well as O’Reilly video courses in Android, Groovy, Gradle, advanced Java, and Spring. A JavaOne Rock Star, he’s a regular speaker on the No Fluff Just Stuff conference tour and has spoken at conferences all over the world. Through his company, Kousen I.T., Inc., he’s taught software development training courses to thousands of students.

    linkedinXlinksearch