Spring Boot makes it easy to create stand-alone Spring-based application that you can 'just run'. It uses a 'convention over configuration' approach to get you up and running in no-time, while offering all Spring features that you have grown fond of in the past years. In this session this is demonstrated by live-coding a Spring Boot application that will just work.
But audience beware, this is not your standard live-coding session'. Attendees will have a vital say in the session's content by defining the applications requ irements. Should it be an app to track your kitchen cupboard contents or do you want a simple task planner? It's up to you! Should it use MongoDB or Couchbase? You decide! Do you want an AngularJS front-end with a RESTful backend or do you prefer a classic web app with Thymeleaf templates? It's your call! Seriously.
During the session you get to make these decisions by participating in an online vote. And you will discover that Spring Boot is up to the task no matter what choices you make.
So what are you waiting for? Bring your own device, help shape the application that we're building and learn lots about Spring Boot in the process.
This session is intended for Java software engineers with an interest in Spring Boot. Some Spring experience could come in handy, but is not strictly necessary. After this session, you will know enough to start your own Spring Boot project.
4. 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
5. 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.
6. 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
7. 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.
9. 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'
10. About What We Claimed
Earlier...
"up and running with one Java file and
a build script"
11. 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);
}
}
13. 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
19. 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.
20. 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