SlideShare a Scribd company logo
© 2013 Spring, by Pivotal
Zero Effort Spring: An intro to Spring Boot
Scott Deeg, Sr. Field Engineer, Pivotal
sdeeg@gopivotal.com
22
Agenda
Goal: Introduce developers to Spring Boot, an opinionated way to rapidly
build production grade Spring applications quickly and with minimal fuss.
 Introduction to Spring Boot
• Where it fits in the Spring eco system
• Goals, high level features, etc.
 Demo: Quick Start
 Behind the scenes
 More demos, more Boot
 End bits (links and such)
 ToDo: Adding new features to Boot
33
What is Pivotal?
 Vmware and EMC spin out
• vFabric from vmware
• Greenplum MPP DB and Hadoop from EMC
• Agile development acquisitions Pivotal Labs and Xtreme Labs
 Paul Maritz CEO
• Former CEO vmware.
 Custodian of various OSS projects including Spring
• and RabbitMQ, Redis, CloudFondry, Groovy/Grails, …
 Commercial interests in Big/Fast Data, PaaS, Enterprise tooling
• Spring is an enabling technology
44
What’s New in Spring
55
Spring vs JEE … ready … FIGHT!
NOT going there! :-)
66
Spring 4.0 Highlights
 Java/EE
• Java 8
• JSR-310 Date/Time API
• JSR-236 Concurrency Utils
• JSR-356 WebSocket
• Servlet 3.1
• Bean Validation 1.1
• JPA 2.1
• JTA 1.2
• JMS 2.0
 Spring iO
 (Large feature set, and getting larger)
77
Big Spring Diagram with Boot
WEB
Controllers, REST,
WebSocket
INTEGRATION
Channels, Adapters,
Filters, Transformers
BATCH
Jobs, Steps,
Readers, Writers
BIG DATA
Ingestion, Export,
Orchestration, Hadoop
DATA
NON-RELATIONALRELATIONAL
CORE
GROOVYFRAMEWORK SECURITY REACTOR
GRAILS
Full-stack, Web
XD
Stream, Taps, Jobs
BOOT
Bootable, Minimal, Ops-Ready
88
Spring Boot
Intro
1010
Goals
 Provide a radically faster and widely accessible getting started
experience
 Be opinionated out of the box, but get out of the way quickly as
requirements start to diverge from the defaults
 Provide a range of non-functional features that are common to large
classes of projects (e.g. embedded servers, security, metrics, health
checks, externalized configuration)
 Absolutely no code generation and no requirement for XML
configuration
 V0.5.0M4
(Question: What about Roo?)
1111
Getting Started REALLY Quickly
app.groovy:
@Controller
class ThisWillActuallyRun
{
@RequestMapping("/")
@ResponseBody
String home() { return "Hello World!" }
}
then
$ spring run app.groovy
1212
Demo
Quick Start
1313
What Just Happened?
 SpringApplication: convenient way to write a main() method that
loads a Spring context
 @EnableAutoConfiguration: optional annotation that adds stuff to
your context, including...
 EmbeddedServletContainerFactory: added to your context if a
server is available on the classpath
 CommandLineRunner: a hook to run application-specific code after
the context is created
 JarLauncher was added to the JAR file
 It’s beginning to look a lot like Java …
1414
Demo
Doing it in Java
1616
Spring Boot Modules
Boot
Autoconfigure
Starters
CLI
Actuator
Tools
Samples
1717
Binding to Command Line Arguments
 SpringApplication binds its own bean properties to command line
arguments, and then adds them to the Spring Environment, e.g.
$ java -jar target/*.jar --server.port=9000
 Externalize Config
• Just put application.properties in your classpath, e.g.
application.properties
server.port: 9000
 Use YAML (if you must)
• Just put application.yml in your classpath
 Both properties and YAML add entries with period-separated paths
to the Spring Environment.
1818
Demo
Change the app behavior by changing parameters
1919
Add a Thymeleaf UI
 Add Thymeleaf to the classpath and see it render a view
 Spring Boot Autoconfigure has added all the boilerplate stuff
 Common configuration options via spring.thymeleaf.*, e.g.
spring.thymeleaf.prefix:classpath:/templates/ (location of templates)
spring.tjymeleaf.cache:true (set to false to reload templates when
changed)
 Extend and override:
add Thymeleaf IDialect beans add thymeleafViewResolver add
SpringTemplateEngine add defaultTemplateResolver
2121
Currently Available Auto-configured Behavior
 Embedded servlet container (Tomcat or Jetty) DataSource and
JdbcTemplate
JPA
Spring Data JPA (scan for repositories) Thymeleaf
 Batch processing
Reactor for events and async processing Actuator features
(Security, Audit, Metrics, Trace)
2222
The Actuator
 Adds common non-functional features to your application and
exposes MVC endpoints to interact with them.
 Security
Secure endpoints: /metrics, /health, /trace, /dump,
 /shutdown, /beans Audit
/info
 If embedded in a web app or web service can use the same port or a
different one (and a different network interface).
2323
Demo
Show me that!
2424
Other
 Security
• Use Actuator
• Can also use Spring Security
 Logging
• Spring Boot provides default configuration files for 3 common logging
frameworks: logback, log4j and java.util.logging
• Starters (and Samples) use logback
External configuration and classpath influence runtime behaviour
LoggingApplicationContextInitializer sets it all up
2525
Does Anybody Use This For Real?
We do
• Spring
Boot app
• Thymeleaf
UI
• Hosted on
Cloud
Foundry
2626
Links
Spring
• https://projects.spring.io/spring-boot
• https://github.com/spring-projects/spring-boot (on Github)
• http://spring.io/blog/2013/09/20/contributing-to-spring-boot-with-a-pull-request
Random Boot Blogs
• http://fbflex.wordpress.com/2013/10/01/a-spring-boot-generator-for-yeoman
© 2013 Spring, by Pivotal
Thanks!
2828
Learn More. Stay Connected.
Download now:
• springsource.org/spring-tool-suite-download (eclipse plugin)
• springsource.org/download/community (zip)
• springsource.org/spring-framework#maven (maven)
Monthly Newsletter: springsource.org/news-events
Twitter: twitter.com/springsource
YouTube: youtube.com/user/SpringSourceDev
RSS Feed: feeds.feedburner.com/springsource/OEVE
LinkedIn: springsource.org/linkedin
Ad

More Related Content

What's hot (20)

Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
Jeevesh Pandey
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Jiayun Zhou
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
Jonathan Holloway
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
Jeevesh Pandey
 
Spring Boot in Action
Spring Boot in Action Spring Boot in Action
Spring Boot in Action
Alex Movila
 
Spring Boot Tutorial
Spring Boot TutorialSpring Boot Tutorial
Spring Boot Tutorial
Naphachara Rattanawilai
 
PUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootPUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBoot
Josué Neis
 
Spring Boot
Spring BootSpring Boot
Spring Boot
koppenolski
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
07.pallav
 
Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!
Jakub Kubrynski
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
Dzmitry Naskou
 
Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentation
guest11106b
 
Spring Core
Spring CoreSpring Core
Spring Core
Pushan Bhattacharya
 
Spring annotation
Spring annotationSpring annotation
Spring annotation
Rajiv Srivastava
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Pei-Tang Huang
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
Eberhard Wolff
 
Java 8 Lambda Expressions
Java 8 Lambda ExpressionsJava 8 Lambda Expressions
Java 8 Lambda Expressions
Scott Leberknight
 
Java 8 features
Java 8 featuresJava 8 features
Java 8 features
NexThoughts Technologies
 
Java Spring Framework
Java Spring FrameworkJava Spring Framework
Java Spring Framework
Mehul Jariwala
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
Thanh Tuong
 

Similar to Spring boot (20)

Spring - a framework written by developers
Spring - a framework written by developersSpring - a framework written by developers
Spring - a framework written by developers
MarcioSoaresPereira1
 
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
DataArt
 
Spring Boot Interview Questions PDF By ScholarHat
Spring Boot Interview Questions PDF By ScholarHatSpring Boot Interview Questions PDF By ScholarHat
Spring Boot Interview Questions PDF By ScholarHat
Scholarhat
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Jaran Flaath
 
Spring Boot Whirlwind Tour
Spring Boot Whirlwind TourSpring Boot Whirlwind Tour
Spring Boot Whirlwind Tour
VMware Tanzu
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
VMware Tanzu
 
Intro to Spring Boot and Spring Cloud OSS - Twin Cities Cloud Foundry Meetup
Intro to Spring Boot and Spring Cloud OSS - Twin Cities Cloud Foundry MeetupIntro to Spring Boot and Spring Cloud OSS - Twin Cities Cloud Foundry Meetup
Intro to Spring Boot and Spring Cloud OSS - Twin Cities Cloud Foundry Meetup
Josh Ghiloni
 
Datasheet weblogicpluginforrd
Datasheet weblogicpluginforrdDatasheet weblogicpluginforrd
Datasheet weblogicpluginforrd
MidVision
 
Integrating Splunk into your Spring Applications
Integrating Splunk into your Spring ApplicationsIntegrating Splunk into your Spring Applications
Integrating Splunk into your Spring Applications
Damien Dallimore
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
hchen1
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
fulv
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java
3Pillar Global
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
Lars Vogel
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
DonghuKIM2
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
Oracle Korea
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applications
michaelaaron25322
 
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
Stéphane Leroy
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
Lars Vogel
 
Spring Cloud Data Flow Overview
Spring Cloud Data Flow OverviewSpring Cloud Data Flow Overview
Spring Cloud Data Flow Overview
VMware Tanzu
 
SOA Knowledge Kit, Developer Productivity and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity  and Performance Comparison AnalysisSOA Knowledge Kit, Developer Productivity  and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity and Performance Comparison Analysis
Clever Moe
 
Spring - a framework written by developers
Spring - a framework written by developersSpring - a framework written by developers
Spring - a framework written by developers
MarcioSoaresPereira1
 
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
DataArt
 
Spring Boot Interview Questions PDF By ScholarHat
Spring Boot Interview Questions PDF By ScholarHatSpring Boot Interview Questions PDF By ScholarHat
Spring Boot Interview Questions PDF By ScholarHat
Scholarhat
 
Spring Boot Whirlwind Tour
Spring Boot Whirlwind TourSpring Boot Whirlwind Tour
Spring Boot Whirlwind Tour
VMware Tanzu
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
VMware Tanzu
 
Intro to Spring Boot and Spring Cloud OSS - Twin Cities Cloud Foundry Meetup
Intro to Spring Boot and Spring Cloud OSS - Twin Cities Cloud Foundry MeetupIntro to Spring Boot and Spring Cloud OSS - Twin Cities Cloud Foundry Meetup
Intro to Spring Boot and Spring Cloud OSS - Twin Cities Cloud Foundry Meetup
Josh Ghiloni
 
Datasheet weblogicpluginforrd
Datasheet weblogicpluginforrdDatasheet weblogicpluginforrd
Datasheet weblogicpluginforrd
MidVision
 
Integrating Splunk into your Spring Applications
Integrating Splunk into your Spring ApplicationsIntegrating Splunk into your Spring Applications
Integrating Splunk into your Spring Applications
Damien Dallimore
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
hchen1
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
fulv
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java
3Pillar Global
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
Lars Vogel
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
DonghuKIM2
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
Oracle Korea
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applications
michaelaaron25322
 
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
Stéphane Leroy
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
Lars Vogel
 
Spring Cloud Data Flow Overview
Spring Cloud Data Flow OverviewSpring Cloud Data Flow Overview
Spring Cloud Data Flow Overview
VMware Tanzu
 
SOA Knowledge Kit, Developer Productivity and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity  and Performance Comparison AnalysisSOA Knowledge Kit, Developer Productivity  and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity and Performance Comparison Analysis
Clever Moe
 
Ad

Recently uploaded (20)

Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Ad

Spring boot

  • 1. © 2013 Spring, by Pivotal Zero Effort Spring: An intro to Spring Boot Scott Deeg, Sr. Field Engineer, Pivotal [email protected]
  • 2. 22 Agenda Goal: Introduce developers to Spring Boot, an opinionated way to rapidly build production grade Spring applications quickly and with minimal fuss.  Introduction to Spring Boot • Where it fits in the Spring eco system • Goals, high level features, etc.  Demo: Quick Start  Behind the scenes  More demos, more Boot  End bits (links and such)  ToDo: Adding new features to Boot
  • 3. 33 What is Pivotal?  Vmware and EMC spin out • vFabric from vmware • Greenplum MPP DB and Hadoop from EMC • Agile development acquisitions Pivotal Labs and Xtreme Labs  Paul Maritz CEO • Former CEO vmware.  Custodian of various OSS projects including Spring • and RabbitMQ, Redis, CloudFondry, Groovy/Grails, …  Commercial interests in Big/Fast Data, PaaS, Enterprise tooling • Spring is an enabling technology
  • 5. 55 Spring vs JEE … ready … FIGHT! NOT going there! :-)
  • 6. 66 Spring 4.0 Highlights  Java/EE • Java 8 • JSR-310 Date/Time API • JSR-236 Concurrency Utils • JSR-356 WebSocket • Servlet 3.1 • Bean Validation 1.1 • JPA 2.1 • JTA 1.2 • JMS 2.0  Spring iO  (Large feature set, and getting larger)
  • 7. 77 Big Spring Diagram with Boot WEB Controllers, REST, WebSocket INTEGRATION Channels, Adapters, Filters, Transformers BATCH Jobs, Steps, Readers, Writers BIG DATA Ingestion, Export, Orchestration, Hadoop DATA NON-RELATIONALRELATIONAL CORE GROOVYFRAMEWORK SECURITY REACTOR GRAILS Full-stack, Web XD Stream, Taps, Jobs BOOT Bootable, Minimal, Ops-Ready
  • 9. 1010 Goals  Provide a radically faster and widely accessible getting started experience  Be opinionated out of the box, but get out of the way quickly as requirements start to diverge from the defaults  Provide a range of non-functional features that are common to large classes of projects (e.g. embedded servers, security, metrics, health checks, externalized configuration)  Absolutely no code generation and no requirement for XML configuration  V0.5.0M4 (Question: What about Roo?)
  • 10. 1111 Getting Started REALLY Quickly app.groovy: @Controller class ThisWillActuallyRun { @RequestMapping("/") @ResponseBody String home() { return "Hello World!" } } then $ spring run app.groovy
  • 12. 1313 What Just Happened?  SpringApplication: convenient way to write a main() method that loads a Spring context  @EnableAutoConfiguration: optional annotation that adds stuff to your context, including...  EmbeddedServletContainerFactory: added to your context if a server is available on the classpath  CommandLineRunner: a hook to run application-specific code after the context is created  JarLauncher was added to the JAR file  It’s beginning to look a lot like Java …
  • 15. 1717 Binding to Command Line Arguments  SpringApplication binds its own bean properties to command line arguments, and then adds them to the Spring Environment, e.g. $ java -jar target/*.jar --server.port=9000  Externalize Config • Just put application.properties in your classpath, e.g. application.properties server.port: 9000  Use YAML (if you must) • Just put application.yml in your classpath  Both properties and YAML add entries with period-separated paths to the Spring Environment.
  • 16. 1818 Demo Change the app behavior by changing parameters
  • 17. 1919 Add a Thymeleaf UI  Add Thymeleaf to the classpath and see it render a view  Spring Boot Autoconfigure has added all the boilerplate stuff  Common configuration options via spring.thymeleaf.*, e.g. spring.thymeleaf.prefix:classpath:/templates/ (location of templates) spring.tjymeleaf.cache:true (set to false to reload templates when changed)  Extend and override: add Thymeleaf IDialect beans add thymeleafViewResolver add SpringTemplateEngine add defaultTemplateResolver
  • 18. 2121 Currently Available Auto-configured Behavior  Embedded servlet container (Tomcat or Jetty) DataSource and JdbcTemplate JPA Spring Data JPA (scan for repositories) Thymeleaf  Batch processing Reactor for events and async processing Actuator features (Security, Audit, Metrics, Trace)
  • 19. 2222 The Actuator  Adds common non-functional features to your application and exposes MVC endpoints to interact with them.  Security Secure endpoints: /metrics, /health, /trace, /dump,  /shutdown, /beans Audit /info  If embedded in a web app or web service can use the same port or a different one (and a different network interface).
  • 21. 2424 Other  Security • Use Actuator • Can also use Spring Security  Logging • Spring Boot provides default configuration files for 3 common logging frameworks: logback, log4j and java.util.logging • Starters (and Samples) use logback External configuration and classpath influence runtime behaviour LoggingApplicationContextInitializer sets it all up
  • 22. 2525 Does Anybody Use This For Real? We do • Spring Boot app • Thymeleaf UI • Hosted on Cloud Foundry
  • 23. 2626 Links Spring • https://projects.spring.io/spring-boot • https://github.com/spring-projects/spring-boot (on Github) • http://spring.io/blog/2013/09/20/contributing-to-spring-boot-with-a-pull-request Random Boot Blogs • http://fbflex.wordpress.com/2013/10/01/a-spring-boot-generator-for-yeoman
  • 24. © 2013 Spring, by Pivotal Thanks!
  • 25. 2828 Learn More. Stay Connected. Download now: • springsource.org/spring-tool-suite-download (eclipse plugin) • springsource.org/download/community (zip) • springsource.org/spring-framework#maven (maven) Monthly Newsletter: springsource.org/news-events Twitter: twitter.com/springsource YouTube: youtube.com/user/SpringSourceDev RSS Feed: feeds.feedburner.com/springsource/OEVE LinkedIn: springsource.org/linkedin