Spring Boot makes it easier to create Java web applications. It provides sensible defaults and infrastructure so developers don't need to spend time wiring applications together. Spring Boot applications are also easier to develop, test, and deploy. The document demonstrates how to create a basic web application with Spring Boot, add Spring Data JPA for database access, and use features for development and operations.
7. Eberhard Wolff - @ewolff
Spring Boot
• Build much easier
• Supports Gradle & Ant, too
• Not limited to simple application
• Can add any other library
• Application much easier to test, debug
etc
• Simple code
9. Eberhard Wolff - @ewolff
Spring Data JPA
• Makes implementation of
repositories trivial
• Just provide an interface
• Needs JPA infrastructure of course
11. Eberhard Wolff - @ewolff
Behind the Scenes
• DataSource for HSQL created
• JPA infrastructure created
• Thymeleaf infrastructure created
• Can also use JSP, Velocity,
Freemarker, Groovy templates
• How does it work?
• Convention over configuration
12. Eberhard Wolff - @ewolff
Spring Boot
• Creates sensible infrastructure
defaults
• i.e. DataSource if HSQL is on the
classpath
• Done by *AutoConfiguration classes
14. Eberhard Wolff - @ewolff
Spring Boot Starter
• Support for specific frameworks
amqp
aop
batch
data-jpa
data-mongodb data-rest
integration
jdbc
mobile
redis
security test web
websocket
actuator
remote-shell
jetty
tomcat
log4j logback
web services
social
elasticsearch
Solr
Flyway Liquibase
Gemfire
16. Eberhard Wolff - @ewolff
Dev
• Turn Around
• Thymeleaf Templates can be
changed on the fly
• …same with class files
• Spring Loaded makes reloading
more powerful
19. Eberhard Wolff - @ewolff
CRaSH Shell
• Ever ssh’d into your application?
• Enter CRaSH
• External library integrated into
Spring Boot
• Alternative approach to operations
21. Eberhard Wolff - @ewolff
Actuator
• Provide information about the
application
• Via http / JSON
• Can be evaluated by monitoring
tools etc.
• Another alternative approach to
monitoring
23. Eberhard Wolff - @ewolff
Deploy
• Just package everything in an
executable JAR
• …or a WAR
• Based on Maven or Gradle
• Build in configuration (YAML,
properties etc.)
25. Eberhard Wolff - @ewolff
What‘s next? Spring Cloud
• Technologies for Micro Services
• E.g. Configuration
• Resilience
• Netflix stack
• Cloud Bus
• Cloud Security
• Based on Spring Boot
26. Eberhard Wolff - @ewolff
Spring Boot 1.2
• Spring 4.1
• JTA
• JNDI for DataSources / JMS
• Stay tuned
27. Eberhard Wolff - @ewolff
Conclusion
• Easy to start
• Can add libraries and features as
needed
• Dev: Quick turn around
• Ops: Integrated monitoring
• Ops: Easy deployment
28. Eberhard Wolff - @ewolff
Conclusion
• Easy to start
• Can add libraries and features as
needed
• Dev: Quick turn around
• Ops: Integrated monitoring
• Ops: Easy deployment
• Didn’t show Groovy support