0% found this document useful (0 votes)
127 views

501 Spring Boot Intro

This document provides an introduction to developing applications with Spring Boot. It discusses how Spring Boot aims to make it easier to create Spring applications by performing auto-configuration, minimizing configuration, and providing an embedded HTTP server. It also covers how to quickly generate a starter project using Spring Initializr and run Spring Boot apps standalone with an embedded server included.

Uploaded by

Rohit Solanki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
127 views

501 Spring Boot Intro

This document provides an introduction to developing applications with Spring Boot. It discusses how Spring Boot aims to make it easier to create Spring applications by performing auto-configuration, minimizing configuration, and providing an embedded HTTP server. It also covers how to quickly generate a starter project using Spring Initializr and run Spring Boot apps standalone with an embedded server included.

Uploaded by

Rohit Solanki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 77

Spring Boot Introduction

m
You will learn how to …

www.luv2code.com
You will learn how to …
• Quickly develop Spring Boot applications

www.luv2code.com
You will learn how to …
• Quickly develop Spring Boot applications

• Develop a REST API using Spring Boot

www.luv2code.com
You will learn how to …
• Quickly develop Spring Boot applications

• Develop a REST API using Spring Boot

• Create a Spring MVC app with Spring Boot

www.luv2code.com
You will learn how to …
• Quickly develop Spring Boot applications

• Develop a REST API using Spring Boot

• Create a Spring MVC app with Spring Boot

• Connect Spring Boot apps to a Database for CRUD development

www.luv2code.com
You will learn how to …
• Quickly develop Spring Boot applications

• Develop a REST API using Spring Boot

• Create a Spring MVC app with Spring Boot

• Connect Spring Boot apps to a Database for CRUD development

• Leverage all Java configuration (no xml) and Maven

www.luv2code.com
Practical Results

www.luv2code.com
Practical Results
• Introduction to Spring Boot development

www.luv2code.com
Practical Results
• Introduction to Spring Boot development

• Not an A to Z reference

www.luv2code.com
Practical Results
• Introduction to Spring Boot development


• Not an A to Z reference 


• For complete reference, see Spring Boot Reference Manual

www.luv2code.com
Practical Results
• Introduction to Spring Boot development


• Not an A to Z reference 


• For complete reference, see Spring Boot Reference Manual

https://spring.io/projects/spring-boot

www.luv2code.com
The Problem

www.luv2code.com
The Problem
• Building a Spring application is really HARD!!!

www.luv2code.com
The Problem
• Building a Spring application is really HARD!!!

Q: What Maven archetype to use?

www.luv2code.com
The Problem
• Building a Spring application is really HARD!!!

Q: What Maven archetype to use?

Q: Which Maven dependencies do I need?

www.luv2code.com
The Problem
• Building a Spring application is really HARD!!!

Q: What Maven archetype to use?

Q: Which Maven dependencies do I need?

Q: How do I set up configuration (xml or Java)?

www.luv2code.com
The Problem
• Building a Spring application is really HARD!!!

Q: What Maven archetype to use?

Q: Which Maven dependencies do I need?

Q: How do I set up configuration (xml or Java)?

Q: How do I install the server? (Tomcat, JBoss etc…)

www.luv2code.com
The Problem
• Building a Spring application is really HARD!!! And that's
JUST the basics
Q: What Maven archetype to use? for getting started

Q: Which Maven dependencies do I need?

Q: How do I set up configuration (xml or Java)?

Q: How do I install the server? (Tomcat, JBoss etc…)

www.luv2code.com
The Problem

www.luv2code.com
The Problem
• Tons of configuration

www.luv2code.com
The Problem
• Tons of configuration

www.luv2code.com
The Problem
• Tons of configuration

www.luv2code.com
The Problem
• Tons of configuration

www.luv2code.com
The Problem Very error-prone

Easy to make
• Tons of configuration a simple mistake

www.luv2code.com
The Problem Very error-prone

Easy to make
• Tons of configuration a simple mistake

There should be
an easier solution
www.luv2code.com
Spring Boot Solution

www.luv2code.com
Spring Boot Solution
• Make it easier to get started with Spring development

www.luv2code.com
Spring Boot Solution
• Make it easier to get started with Spring development

• Minimize the amount of manual configuration

www.luv2code.com
Spring Boot Solution
• Make it easier to get started with Spring development

• Minimize the amount of manual configuration

• Perform auto-configuration based on props files and JAR classpath

www.luv2code.com
Spring Boot Solution
• Make it easier to get started with Spring development

• Minimize the amount of manual configuration

• Perform auto-configuration based on props files and JAR classpath

• Help to resolve dependency conflicts (Maven or Gradle)

www.luv2code.com
Spring Boot Solution
• Make it easier to get started with Spring development

• Minimize the amount of manual configuration

• Perform auto-configuration based on props files and JAR classpath

• Help to resolve dependency conflicts (Maven or Gradle)

• Provide an embedded HTTP server so you can get started quickly

www.luv2code.com
Spring Boot Solution
• Make it easier to get started with Spring development

• Minimize the amount of manual configuration

• Perform auto-configuration based on props files and JAR classpath

• Help to resolve dependency conflicts (Maven or Gradle)

• Provide an embedded HTTP server so you can get started quickly

• Tomcat, Jetty, Undertow, …

www.luv2code.com
Spring Initializr

www.luv2code.com
Spring Initializr

http://start.spring.io

www.luv2code.com
Spring Initializr

• Quickly create a starter Spring project http://start.spring.io

www.luv2code.com
Spring Initializr

• Quickly create a starter Spring project http://start.spring.io

• Select your dependencies

www.luv2code.com
Spring Initializr

• Quickly create a starter Spring project http://start.spring.io

• Select your dependencies

• Creates a Maven/Gradle project

www.luv2code.com
Spring Initializr

• Quickly create a starter Spring project http://start.spring.io

• Select your dependencies

• Creates a Maven/Gradle project

• Import the project into your IDE

www.luv2code.com
Spring Initializr

• Quickly create a starter Spring project http://start.spring.io

• Select your dependencies

• Creates a Maven/Gradle project

• Import the project into your IDE

• Eclipse, IntelliJ, NetBeans etc …

www.luv2code.com
Spring Boot Embedded Server

www.luv2code.com
Spring Boot Embedded Server

• Provide an embedded HTTP server so you can get started quickly

www.luv2code.com
Spring Boot Embedded Server

• Provide an embedded HTTP server so you can get started quickly

• Tomcat, Jetty, Undertow, …

www.luv2code.com
Spring Boot Embedded Server

• Provide an embedded HTTP server so you can get started quickly

• Tomcat, Jetty, Undertow, …

• No need to install a server separately

www.luv2code.com
Spring Boot Embedded Server

• Provide an embedded HTTP server so you can get started quickly

• Tomcat, Jetty, Undertow, …

• No need to install a server separately

mycoolapp.jar

mycode

Tomcat

www.luv2code.com
Spring Boot Embedded Server

• Provide an embedded HTTP server so you can get started quickly

• Tomcat, Jetty, Undertow, …

• No need to install a server separately

mycoolapp.jar

mycode JAR file


includes your application code
AND
Tomcat includes the server

www.luv2code.com
Spring Boot Embedded Server

• Provide an embedded HTTP server so you can get started quickly

• Tomcat, Jetty, Undertow, …

• No need to install a server separately


Self-contained unit
mycoolapp.jar Nothing else to install

mycode JAR file


includes your application code
AND
Tomcat includes the server

www.luv2code.com
Running Spring Boot Apps

www.luv2code.com
Running Spring Boot Apps
• Spring Boot apps can be run standalone (includes embedded server)

www.luv2code.com
Running Spring Boot Apps
• Spring Boot apps can be run standalone (includes embedded server)

• Run the Spring Boot app from the IDE or command-line

www.luv2code.com
Running Spring Boot Apps
• Spring Boot apps can be run standalone (includes embedded server)

• Run the Spring Boot app from the IDE or command-line

mycoolapp.jar

mycode

Tomcat

www.luv2code.com
Running Spring Boot Apps
• Spring Boot apps can be run standalone (includes embedded server)

• Run the Spring Boot app from the IDE or command-line

mycoolapp.jar

mycode > java -jar mycoolapp.jar

Tomcat
Name of our JAR file

www.luv2code.com
Deploying Spring Boot Apps

www.luv2code.com
Deploying Spring Boot Apps
• Spring Boot apps can also be deployed in the traditional way

www.luv2code.com
Deploying Spring Boot Apps
• Spring Boot apps can also be deployed in the traditional way

• Deploy WAR file to an external server: Tomcat, JBoss, WebSphere etc …

www.luv2code.com
Deploying Spring Boot Apps
• Spring Boot apps can also be deployed in the traditional way

• Deploy WAR file to an external server: Tomcat, JBoss, WebSphere etc …

Tomcat

www.luv2code.com
Deploying Spring Boot Apps
• Spring Boot apps can also be deployed in the traditional way

• Deploy WAR file to an external server: Tomcat, JBoss, WebSphere etc …

Tomcat

mycoolapp.war

mycode

www.luv2code.com
Deploying Spring Boot Apps
• Spring Boot apps can also be deployed in the traditional way

• Deploy WAR file to an external server: Tomcat, JBoss, WebSphere etc …

Tomcat

mycoolapp.war travel.war

mycode

www.luv2code.com
Deploying Spring Boot Apps
• Spring Boot apps can also be deployed in the traditional way

• Deploy WAR file to an external server: Tomcat, JBoss, WebSphere etc …

Tomcat

mycoolapp.war travel.war shopping.war

mycode

www.luv2code.com
Spring Boot FAQ #1

www.luv2code.com
Spring Boot FAQ #1

Q: Does Spring Boot replace Spring MVC, Spring REST etc …?

www.luv2code.com
Spring Boot FAQ #1

Q: Does Spring Boot replace Spring MVC, Spring REST etc …?

• No. Instead, Spring Boot actually uses those technologies

www.luv2code.com
Spring Boot FAQ #1

Q: Does Spring Boot replace Spring MVC, Spring REST etc …?

• No. Instead, Spring Boot actually uses those technologies

Spring Core Spring AOP Spring …

www.luv2code.com
Spring Boot FAQ #1

Q: Does Spring Boot replace Spring MVC, Spring REST etc …?

• No. Instead, Spring Boot actually uses those technologies

Spring MVC Spring REST Spring …

Spring Core Spring AOP Spring …

www.luv2code.com
Spring Boot FAQ #1

Q: Does Spring Boot replace Spring MVC, Spring REST etc …?

• No. Instead, Spring Boot actually uses those technologies

Spring Boot

Spring MVC Spring REST Spring …

Spring Core Spring AOP Spring …

www.luv2code.com
Spring Boot FAQ #1

Q: Does Spring Boot replace Spring MVC, Spring REST etc …?

• No. Instead, Spring Boot actually uses those technologies

Once you do Spring Boot configs


Spring Boot then you make use of
regular Spring coding

Spring MVC Spring REST Spring …
@Component
@Controller
Spring Core Spring AOP Spring … @Autowired
etc…

www.luv2code.com
Spring Boot FAQ #2

www.luv2code.com
Spring Boot FAQ #2

Q: Does Spring Boot run code faster than regular Spring code?

www.luv2code.com
Spring Boot FAQ #2

Q: Does Spring Boot run code faster than regular Spring code?

• No.

• Behind the scenes, Spring Boot uses same code of Spring Framework

www.luv2code.com
Spring Boot FAQ #2

Q: Does Spring Boot run code faster than regular Spring code?

• No.

• Behind the scenes, Spring Boot uses same code of Spring Framework

• Remember, Spring Boot is about making it easier to get started

www.luv2code.com
Spring Boot FAQ #2

Q: Does Spring Boot run code faster than regular Spring code?

• No.

• Behind the scenes, Spring Boot uses same code of Spring Framework

• Remember, Spring Boot is about making it easier to get started

• Minimizing configuration etc …

www.luv2code.com
Spring Boot FAQ #3

www.luv2code.com
Spring Boot FAQ #3

Q: Do I need a special IDE for Spring Boot?

www.luv2code.com
Spring Boot FAQ #3

Q: Do I need a special IDE for Spring Boot?

• No.

• You can use any IDE for Spring Boot apps … even use plain text editor

www.luv2code.com
Spring Boot FAQ #3

Q: Do I need a special IDE for Spring Boot?

• No.

• You can use any IDE for Spring Boot apps … even use plain text editor

• The Spring team provides free Spring Tool Suite (STS) [IDE plugins]

www.luv2code.com
Spring Boot FAQ #3

Q: Do I need a special IDE for Spring Boot?

• No.

• You can use any IDE for Spring Boot apps … even use plain text editor

• The Spring team provides free Spring Tool Suite (STS) [IDE plugins]

• Some IDEs provide fancy Spring tooling support

www.luv2code.com
Spring Boot FAQ #3

Q: Do I need a special IDE for Spring Boot?

• No.

• You can use any IDE for Spring Boot apps … even use plain text editor

• The Spring team provides free Spring Tool Suite (STS) [IDE plugins]

• Some IDEs provide fancy Spring tooling support

• Not a requirement. Feel free to use the IDE that works best for you

www.luv2code.com

You might also like