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

Cadec 2016 Spring Boot

This document introduces Spring Boot, a framework for creating stand-alone, production-grade Spring based applications that can be "started" using java -jar. It discusses Spring Boot's focus on convention over configuration for stand-alone applications, demonstrates a sample dice rolling application, and covers key Spring Boot features like executable jar files, auto-configuration, developer tools, external configuration, and actuators.

Uploaded by

Luis Silva
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)
53 views

Cadec 2016 Spring Boot

This document introduces Spring Boot, a framework for creating stand-alone, production-grade Spring based applications that can be "started" using java -jar. It discusses Spring Boot's focus on convention over configuration for stand-alone applications, demonstrates a sample dice rolling application, and covers key Spring Boot features like executable jar files, auto-configuration, developer tools, external configuration, and actuators.

Uploaded by

Luis Silva
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/ 22

SPRING BOOT

MATS EKHAMMAR
2016-01-27 | CALLISTAENTERPRISE.SE
AGENDA

•  Simple example
•  What is Spring Boot?
•  Demo application
•  Jarfiles
•  Developer Tools
•  Configuration from config server
•  Actuator
•  Wrap up

2
INTRODUCING SPRING BOOT

•  Simple example
-  REST service

•  Spring Boot CLI (Command Line Interface)


-  Groovy files
SPRING BOOT EMERGING
Spring xxx
Spring Security
config
config
pom.xml Spring Web Spring Boot!
+ props
props config
config pom.xml

props Spring yyy props


Spring Data
config
config
props
props
props

4
WHAT IS SPRING BOOT

•  Helps creating Spring Applications

•  Convention over configuration

•  Starter POMS
-  Automatic configuration with sensible defaults
-  Example: spring-boot-starter-web

•  Features
-  Monitoring
-  Metrics
-  …
5
WHY – WHEN

•  ”Getting started” the easy way quickly

•  Check out new features in the Spring stack

•  Minimal immediate knowledge of dependencies, configuration, …

•  Need to create small autonomous applications (microservices)

•  Distributed system landscape

6
DEMO APPLICATION

•  Rolling two dices

•  REST endpoint
-  /roll

•  WEB page URL


-  /rolling

•  Eclipse STS (Spring Tool Suite)

7
JAR FILES

•  demo-0.0.1-SNAPSHOT.jar
-  big

•  über-jar

•  MANIFEST.MF
-  Main-Class: org.springframework.boot.loader.JarLauncher

8
EXECUTABLE JAR

•  ”Script file”

•  pom.xml

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>

9
MAIN APPLICATION CLASS

@SpringBootApplication
public class DicesServiceApplication {

public static void main(String[] args){


SpringApplication.run(DicesServiceApplication.class, args);
}
}

10
@SPRINGBOOTAPPLICATION

•  @Configuration

•  @ComponentScan

•  @EnableAutoConfiguration

11
POM.XML

•  Parent
-  version 1.3.2.RELEASE
•  Dependencies
-  org.springframework.boot
»  spring-boot-starter-web
»  spring-boot-starter-thymeleaf
»  spring-boot-starter-test

12
SPRING-BOOT-STARTER-WEB

•  Dependencies
-  org.springframework.boot
»  spring-boot-starter
»  spring-boot-starter-tomcat
»  spring-boot-starter-validation
-  com.fasterxml.jackson.core
»  jackson-databind
-  org.springframework
»  spring-web
»  spring-webmvc

13
TURN ON DEPENDENCIES

•  Dependencies to turn on
-  DevTools
-  Config
-  Actuator

14
DEVELOPER TOOLS

•  Automatic restart
-  Code changes require restart of application

•  LiveReload
-  html, javascript, templates, images, stylesheets, …

15
CONFIGURATION FROM EXTERNAL APPLICATION

dices-service config-server

•  Configuration server
-  Holds configurations for different applications

16
ACTUATOR

•  REST Endpoints
-  /beans
-  /autoconfig
-  /env
-  /mappings
-  …
- /health
- /metrics
-  ...

17
ACTUATOR – ADD METRICS

•  Count dice rolls outcome

•  CounterService
-  Increment
-  Decrement
-  Reset

18
WRAP UP

•  Start using Spring Boot today for you Spring Applications!

•  Reduce configuration ”noise” dramatically

•  Think about what you don’t need to write!

•  Enter the microservice arena the ”easy” way

19
LINKS

•  Spring Boot - http://projects.spring.io/spring-boot

•  Initializr - http://start.spring.io

•  GitHub - https://github.com/spring-projects/spring-boot
-  https://github.com/spring-projects/spring-boot/tree/master/spring-boot-starters

•  Callista blogs
-  http://callistaenterprise.se/blogg/teknik/2014/04/15/a-first-look-at-spring-boot/
-  http://callistaenterprise.se/blogg/teknik/2015/10/09/spring-boot-app-as-a-
windows-service/
20
21
?
PETERS PRESENTATION

•  QUIZ !!

22

You might also like