SlideShare a Scribd company logo
© Copyright 2018 Pivotal Software, Inc. All rights Reserved. Version 1.0
Adam Zwickey
Principal Architect
azwickey@pivotal.io
Spring Boot Whirlwind Tour
Cloud Native?
In the Cloud != Cloud Native
3
In a Container != Cloud Native
4
Cloud Native
Software designed to run and scale
reliably and predictably on top of
potentially unreliable cloud-based
infrastructure
5 Source: Duncan C. E. Winn - Cloud Foundry the Cloud Native Platform
Spring Cloud
Simple and accessible programming
model for the most common
distributed systems and microservice
patterns
● Service Discovery
● Config Management
● Circuit Breakers
● Gateways, Tracing
● AWS, GCP, AZure, K8s
● And more...
Spring & Spring Boot
The world’s #1 enterprise Java
application development framework
and the leading quickstart
microservices engine
● IoC / Dependency Injection
● AOP, Data, Transactions
● HTTP, REST, Reactive, Sockets
● Build, Test, Integrate, Run
● Instrumentation, Scheduling
● And more...
Build Anything Coordinate Anything
INCLUDES INCLUDES
Spring’s Ingredients for Cloud Native
Spring Cloud Data Flow
Cloud native connectors and data
orchestration pipelines for the most
common integration scenarios
● Many, many connectors
● Stream & batch processing
● Host on PCF (PAS & PKS) & K8s
● Simple Spring Flow UI
● Metrics, Health, Insights
● And more...
Connect Anything
INCLUDES
● Fast
Convention-over-configuration, no XML, no code
generation, autoconfigure everything
● Opinionated
But flexible - gets out of the way quickly if you want to
change the defaults
● Portable
Convenient executable JAR packaging
Ready to run with an embedded servlet engine
● Production ready
Works out of the box. Integrated with Cloud Foundry.
Observable “Actuators” for health, metrics etc.
Polyglot (Java, Spring, Groovy, Kotlin)
Build: Spring Boot
Quickstart application context and microservice container
“Working with Spring Boot is like
pair-programming with the Spring team.”
- Josh Long @starbuxman
https://twitter.com/mkheck/status/1001875166660644866
What are Spring Boot starters?
Spring Boot “starters” are dependency packages that work in
harmony with the automatic configuration feature in Spring
Boot to add additional features to your project
When a compatible library is detected, Spring Boot will set about
automatically configuring the components in that starter into
the application’s Spring application context
For example, when the “Actuator” starter is detected, a set of
REST endpoints are added that give you new insights into your
application runtime (such as /actuator/info)
Similarly, when JPA and a Database Driver such as H2 are
detected, Spring Boot will automatically configure an
in-memory H2 database, a JDBC connection pool and an Entity
Manager, all using intelligent defaults
By automatically configuring itself, Spring Boot is relieving the
developer from the toil of bootstrapping the application
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
…
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</parent>
pom.xml
The illustration here is for a Java based Spring Boot application using the
Maven build system, however, Kotlin and Gradle are also supported
What is Spring AutoConfig?
Spring Boot “autoconfiguration” automatically bootstraps your
Spring Application based on the JAR dependencies declared in
your build system
Quickly create new microservices with little configuration yet still
have the ability to customize.
Packaging of Applications
Spring Boot
Packaging of Applications
How do I get started?
The quickest way to get started with Spring Boot is to use the
Spring Initializr at start.spring.io
Here you can choose your preferred build system, your preferred
language, a Spring Boot version, and choose the “starter”
dependencies that you’d like to add to your project
Popular “starter” dependencies include...
● Web (Tomcat, Spring MVC, REST)
● Reactive Web (Netty, Spring WebFlux)
● DevTools (rapid reload for iterative development)
● Thymeleaf (web template engine)
● JPA (Spring Data, ORM and Hibernate)
● Security (Spring Security)
● Actuator (Metrics, Admin, Insights)
Whatever you choose, the resulting Zip file will contain a fully
configured project that’s ready to go!
start.spring.io
You can use Spring Initializr without leaving your favourite IDE!
Spring Tool Suite, NetBeans, VSCode and IntelliJ IDEA Ultimate all feature
Initializr wizards for starting new projects
How do I run Spring Boot apps?
Spring Initializr will add a “Main” class to the project that contains
the @SpringBootApplication annotation and some simple
boilerplate code, as shown opposite
The Initializr will also add a parent project and a spring-boot
plugin dependency to the project’s build file. This allows the
build system to build, package and run the application for you
with just one simple command…
$> ./mvnw spring-boot:run
In the case of applications using the “Web” starter dependency,
Spring Boot will run the application within an embedded
Tomcat server (packaged in a Jar file also known as Fat Jar)
Bootstrapping a Java project and configuring all these
dependencies used to take hours. Now, with Spring Boot, it’s
done in minutes, helping developers everywhere to remain
productive
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
…
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
MyApplication.java
pom.xml
The illustration here is for a Java based Spring Boot application using the
Maven build system, however, Kotlin and Gradle are also supported
To the Code...
Spring Boot Actuator helps you monitor and manage you
application y enabling production-ready features with no
coding
It provides OOTB endpoints exposing different types of
application information…
● Metrics
● Health
● Configuration
● Errors
● Info
● Threads and HTTP info
Actuator provides dependency management and auto-config for
Micrometer, an application metrics facade that supports
numerous monitoring systems, including: AppOptics, Atlas,
Datadog, Dynatrace, Elastic, Ganglia, Graphite, Humio, Influx, JMX,
KairosDB, New Relic, Prometheus, SignalFx, Simple (in-memory),
StatsD, Wavefront
Spring Boot Actuator
To the Code...
Transforming How The World Builds Software
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.

More Related Content

PDF
Resilient Microservices with Spring Cloud
PDF
Spring Boot Loves K8s
PDF
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
PDF
Accelerate Spring Apps to Cloud at Scale
PDF
Spring Boot Observability
PDF
Building Distributed Systems with Netflix OSS and Spring Cloud
PDF
Going Serverless Using the Spring Framework Ecosystem
PDF
Handling Secrets in Your Cloud Native Architecture
Resilient Microservices with Spring Cloud
Spring Boot Loves K8s
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
Accelerate Spring Apps to Cloud at Scale
Spring Boot Observability
Building Distributed Systems with Netflix OSS and Spring Cloud
Going Serverless Using the Spring Framework Ecosystem
Handling Secrets in Your Cloud Native Architecture

What's hot (20)

PDF
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
PDF
Spring: Your Next Java Micro-Framework
PPTX
Improving Your Company’s Health with Middleware Takeout
PDF
What Is Spring?
PDF
Developers Are Users, Too
PDF
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PDF
Unleash the True Power of Spring Cloud: Learn How to Customize Spring Cloud
PDF
Spring Tools 4: Bootiful Spring Tooling for the Masses
PDF
PKS: The What and How of Enterprise-Grade Kubernetes
PDF
Observability Enhancements in Steeltoe
PDF
Connecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
PDF
Functions: Implement Once, Execute Anywhere!
PDF
What’s New in Spring Data MongoDB
PDF
What Is Spring?
PDF
Spring Boot—Production Boost
PDF
DevOps KPIs as a Service: Daimler’s Solution
PDF
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
PDF
The Path Towards Spring Boot Native Applications
PDF
Spring Cloud Function: Where We Were, Where We Are, and Where We’re Going
PDF
Pivotal spring boot-cloud workshop
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Spring: Your Next Java Micro-Framework
Improving Your Company’s Health with Middleware Takeout
What Is Spring?
Developers Are Users, Too
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
Unleash the True Power of Spring Cloud: Learn How to Customize Spring Cloud
Spring Tools 4: Bootiful Spring Tooling for the Masses
PKS: The What and How of Enterprise-Grade Kubernetes
Observability Enhancements in Steeltoe
Connecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
Functions: Implement Once, Execute Anywhere!
What’s New in Spring Data MongoDB
What Is Spring?
Spring Boot—Production Boost
DevOps KPIs as a Service: Daimler’s Solution
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
The Path Towards Spring Boot Native Applications
Spring Cloud Function: Where We Were, Where We Are, and Where We’re Going
Pivotal spring boot-cloud workshop
Ad

Similar to Spring Boot Whirlwind Tour (20)

PDF
Spring Boot Interview Questions PDF By ScholarHat
PPTX
Module 6 _ Spring Boot for java application to begin
PDF
Spring boot vs spring framework razor sharp web applications
PPTX
Spring boot
PDF
Spring Boot
PDF
SpringBoot and Spring Cloud Service for MSA
PDF
Building a Spring Boot Application - Ask the Audience!
PPTX
Microservices with kubernetes @190316
PPTX
Spring data jpa are used to develop spring applications
PPTX
Spring boot Introduction
PDF
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
PDF
Building a Spring Boot Application - Ask the Audience! (from JVMCon 2018)
PDF
Accelerate Spring Apps to Cloud at Scale—Discussion with Azure Spring Cloud C...
PDF
Intro to SpringBatch NoSQL 2021
PPTX
Simplify DevOps with Microservices and Mobile Backends.pptx
PDF
Chapter6 web apps-tomcat
PDF
Spring Boot: a Quick Introduction
PDF
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
PDF
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
PPT
Developing Java Web Applications
Spring Boot Interview Questions PDF By ScholarHat
Module 6 _ Spring Boot for java application to begin
Spring boot vs spring framework razor sharp web applications
Spring boot
Spring Boot
SpringBoot and Spring Cloud Service for MSA
Building a Spring Boot Application - Ask the Audience!
Microservices with kubernetes @190316
Spring data jpa are used to develop spring applications
Spring boot Introduction
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Building a Spring Boot Application - Ask the Audience! (from JVMCon 2018)
Accelerate Spring Apps to Cloud at Scale—Discussion with Azure Spring Cloud C...
Intro to SpringBatch NoSQL 2021
Simplify DevOps with Microservices and Mobile Backends.pptx
Chapter6 web apps-tomcat
Spring Boot: a Quick Introduction
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
Developing Java Web Applications
Ad

More from VMware Tanzu (20)

PDF
Spring into AI presented by Dan Vega 5/14
PDF
What AI Means For Your Product Strategy And What To Do About It
PDF
Make the Right Thing the Obvious Thing at Cardinal Health 2023
PPTX
Enhancing DevEx and Simplifying Operations at Scale
PDF
Spring Update | July 2023
PPTX
Platforms, Platform Engineering, & Platform as a Product
PPTX
Building Cloud Ready Apps
PDF
Spring Boot 3 And Beyond
PDF
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
PDF
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
PDF
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
PPTX
tanzu_developer_connect.pptx
PDF
Tanzu Virtual Developer Connect Workshop - French
PDF
Tanzu Developer Connect Workshop - English
PDF
Virtual Developer Connect Workshop - English
PDF
Tanzu Developer Connect - French
PDF
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
PDF
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
PDF
SpringOne Tour: The Influential Software Engineer
PDF
SpringOne Tour: Domain-Driven Design: Theory vs Practice
Spring into AI presented by Dan Vega 5/14
What AI Means For Your Product Strategy And What To Do About It
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Enhancing DevEx and Simplifying Operations at Scale
Spring Update | July 2023
Platforms, Platform Engineering, & Platform as a Product
Building Cloud Ready Apps
Spring Boot 3 And Beyond
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
tanzu_developer_connect.pptx
Tanzu Virtual Developer Connect Workshop - French
Tanzu Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
Tanzu Developer Connect - French
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: Domain-Driven Design: Theory vs Practice

Recently uploaded (20)

PDF
AI in Product Development-omnex systems
PDF
medical staffing services at VALiNTRY
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Digital Strategies for Manufacturing Companies
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
history of c programming in notes for students .pptx
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Introduction to Artificial Intelligence
PPTX
Operating system designcfffgfgggggggvggggggggg
AI in Product Development-omnex systems
medical staffing services at VALiNTRY
Wondershare Filmora 15 Crack With Activation Key [2025
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
How to Choose the Right IT Partner for Your Business in Malaysia
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
ManageIQ - Sprint 268 Review - Slide Deck
Softaken Excel to vCard Converter Software.pdf
Digital Strategies for Manufacturing Companies
Which alternative to Crystal Reports is best for small or large businesses.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Design an Analysis of Algorithms I-SECS-1021-03
history of c programming in notes for students .pptx
ISO 45001 Occupational Health and Safety Management System
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Introduction to Artificial Intelligence
Operating system designcfffgfgggggggvggggggggg

Spring Boot Whirlwind Tour

  • 1. © Copyright 2018 Pivotal Software, Inc. All rights Reserved. Version 1.0 Adam Zwickey Principal Architect azwickey@pivotal.io Spring Boot Whirlwind Tour
  • 3. In the Cloud != Cloud Native 3
  • 4. In a Container != Cloud Native 4
  • 5. Cloud Native Software designed to run and scale reliably and predictably on top of potentially unreliable cloud-based infrastructure 5 Source: Duncan C. E. Winn - Cloud Foundry the Cloud Native Platform
  • 6. Spring Cloud Simple and accessible programming model for the most common distributed systems and microservice patterns ● Service Discovery ● Config Management ● Circuit Breakers ● Gateways, Tracing ● AWS, GCP, AZure, K8s ● And more... Spring & Spring Boot The world’s #1 enterprise Java application development framework and the leading quickstart microservices engine ● IoC / Dependency Injection ● AOP, Data, Transactions ● HTTP, REST, Reactive, Sockets ● Build, Test, Integrate, Run ● Instrumentation, Scheduling ● And more... Build Anything Coordinate Anything INCLUDES INCLUDES Spring’s Ingredients for Cloud Native Spring Cloud Data Flow Cloud native connectors and data orchestration pipelines for the most common integration scenarios ● Many, many connectors ● Stream & batch processing ● Host on PCF (PAS & PKS) & K8s ● Simple Spring Flow UI ● Metrics, Health, Insights ● And more... Connect Anything INCLUDES
  • 7. ● Fast Convention-over-configuration, no XML, no code generation, autoconfigure everything ● Opinionated But flexible - gets out of the way quickly if you want to change the defaults ● Portable Convenient executable JAR packaging Ready to run with an embedded servlet engine ● Production ready Works out of the box. Integrated with Cloud Foundry. Observable “Actuators” for health, metrics etc. Polyglot (Java, Spring, Groovy, Kotlin) Build: Spring Boot Quickstart application context and microservice container
  • 8. “Working with Spring Boot is like pair-programming with the Spring team.” - Josh Long @starbuxman
  • 10. What are Spring Boot starters? Spring Boot “starters” are dependency packages that work in harmony with the automatic configuration feature in Spring Boot to add additional features to your project When a compatible library is detected, Spring Boot will set about automatically configuring the components in that starter into the application’s Spring application context For example, when the “Actuator” starter is detected, a set of REST endpoints are added that give you new insights into your application runtime (such as /actuator/info) Similarly, when JPA and a Database Driver such as H2 are detected, Spring Boot will automatically configure an in-memory H2 database, a JDBC connection pool and an Entity Manager, all using intelligent defaults By automatically configuring itself, Spring Boot is relieving the developer from the toil of bootstrapping the application <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.0.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> … <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </parent> pom.xml The illustration here is for a Java based Spring Boot application using the Maven build system, however, Kotlin and Gradle are also supported
  • 11. What is Spring AutoConfig? Spring Boot “autoconfiguration” automatically bootstraps your Spring Application based on the JAR dependencies declared in your build system Quickly create new microservices with little configuration yet still have the ability to customize.
  • 13. Spring Boot Packaging of Applications
  • 14. How do I get started? The quickest way to get started with Spring Boot is to use the Spring Initializr at start.spring.io Here you can choose your preferred build system, your preferred language, a Spring Boot version, and choose the “starter” dependencies that you’d like to add to your project Popular “starter” dependencies include... ● Web (Tomcat, Spring MVC, REST) ● Reactive Web (Netty, Spring WebFlux) ● DevTools (rapid reload for iterative development) ● Thymeleaf (web template engine) ● JPA (Spring Data, ORM and Hibernate) ● Security (Spring Security) ● Actuator (Metrics, Admin, Insights) Whatever you choose, the resulting Zip file will contain a fully configured project that’s ready to go! start.spring.io You can use Spring Initializr without leaving your favourite IDE! Spring Tool Suite, NetBeans, VSCode and IntelliJ IDEA Ultimate all feature Initializr wizards for starting new projects
  • 15. How do I run Spring Boot apps? Spring Initializr will add a “Main” class to the project that contains the @SpringBootApplication annotation and some simple boilerplate code, as shown opposite The Initializr will also add a parent project and a spring-boot plugin dependency to the project’s build file. This allows the build system to build, package and run the application for you with just one simple command… $> ./mvnw spring-boot:run In the case of applications using the “Web” starter dependency, Spring Boot will run the application within an embedded Tomcat server (packaged in a Jar file also known as Fat Jar) Bootstrapping a Java project and configuring all these dependencies used to take hours. Now, with Spring Boot, it’s done in minutes, helping developers everywhere to remain productive @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> … <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> MyApplication.java pom.xml The illustration here is for a Java based Spring Boot application using the Maven build system, however, Kotlin and Gradle are also supported
  • 17. Spring Boot Actuator helps you monitor and manage you application y enabling production-ready features with no coding It provides OOTB endpoints exposing different types of application information… ● Metrics ● Health ● Configuration ● Errors ● Info ● Threads and HTTP info Actuator provides dependency management and auto-config for Micrometer, an application metrics facade that supports numerous monitoring systems, including: AppOptics, Atlas, Datadog, Dynatrace, Elastic, Ganglia, Graphite, Humio, Influx, JMX, KairosDB, New Relic, Prometheus, SignalFx, Simple (in-memory), StatsD, Wavefront Spring Boot Actuator
  • 19. Transforming How The World Builds Software © Copyright 2019 Pivotal Software, Inc. All rights Reserved.