Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Building a
Spring Boot
Application
(ask the audience)
Hanno Embregts @hannotify
Hanno?
Hanno?
Hanno?
Hanno?
Hanno?
Hanno?
Hanno?Hanno?
Introducing
Introducing
Introducing
Introducing
Introducing
Introducing
IntroducingIntroducing
Spring BootSpring BootSpring BootSpring BootSpring Boot
Spring Boot?
( )
"Takes an opinionated view of building
production-ready Spring applications.
Favors convention over configuration
and is designed to get you up and
running as quickly as possible."
https://projects.spring.io/spring-boot
Key features?
create stand-alone Spring applications
embed web server directly (no WAR files)
automatic Spring configuration wherever possible
no code generation and no XML configuration
still offering all Spring features.
Pros?
no separate web server needed
better debugging in IDEs
faster deployments (about 50%)
no web.xml or configuration classes needed
up and running with one Java file and a build
script.
( )https://www.ethode.com/blog/6-simple-reasons-why-spring-boot-rocks
Cons?
custom configuration will be a bit of a puzzle
porting your legacy Spring project would be a
disaster!
it uses Spring, excluding roughly half of the Java
community.
Starting OutStarting OutStarting OutStarting OutStarting Out
Wanna Be
Wanna Be
Wanna Be
Wanna Be
Wanna Be
Wanna Be
Wanna BeWanna Be
Startin'Startin'Startin'Startin'Startin'
Somethin'Somethin'Somethin'Somethin'Somethin'
About What We Claimed
Earlier...
"up and running with one Java file and
a build script"
Java file(s)
// imports...
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}
// imports...
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Build script
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
jar {
// some properties...
}
// repositories...
dependencies {
compile("org.springframework.boot:spring-boot-starter-web") {
exclude module: "spring-boot-starter-tomcat"
}
compile("org.springframework.boot:spring-boot-starter-jetty")
testCompile("junit:junit")
}
Starter Dependencies
a set of convenient dependency descriptors
follow the naming pattern spring-boot-
starter-*
Name Purpose
spring-boot-starter Core starter, includes auto-config & logging
spring-boot-starter-test Test starter, includes JUnit, Hamcrest & Mockito
spring-boot-starter-web Starter for Spring MVC Web applications
spring-boot-starter-data-jpa Spring Data with JPA
(more starters at
)
http://docs.spring.io/spring-
boot/docs/1.5.2.RELEASE/reference/htmlsingle/#using-boot-starter
Spring Initializr
(a quick way to download a project setup)
http://start.spring.io/
Live codingLive codingLive codingLive codingLive coding
Kahoot! #1
Kahoot! #2
Wrap-up &
Wrap-up &
Wrap-up &
Wrap-up &
Wrap-up &
Wrap-up &
Wrap-up &Wrap-up &
QuestionsQuestionsQuestionsQuestionsQuestions
Wrap-up
Spring Boot
gets you up & running quickly;
assumes standard configuration for rapid
development;
plays nice with a wide range of frameworks;
is up to the task no matter what choices you
make.
And what if I prefer JavaEE?
At least you can use embedded servers:
TomEE Embedded
( )
Wildfly Swarm
( )
Quick assembly with JBoss ShrinkWrap
(
)
http://tomee.apache.org/advanced/tomee-embedded/index.html
http://wildfly-swarm.io/
http://www.lordofthejars.com/2014/09/apache-tomee-shrinkwrap-javaee-boot-
not.html
Any
Any
Any
Any
Any
Any
AnyAny
questions?questions?questions?questions?questions?
Thank you! ☺
You can contact me at:
@hannotify
hanno.embregts@infosupport.com

More Related Content

Building a Spring Boot Application - Ask the Audience! (from JavaLand 2017)