Post on 16-Jul-2015
Spring Boot.Boot up your development
Sergey Morenets
morenets@mail.ru
About author
• Works in IT since 2000• 11 years of Java SE/EE experience• Java lecturer• Multiple speaker at Java User Group• Winner of 2013 Jboss Community
Recognition Award https://www.jboss.org/jbcra
Agenda
• Overview• Spring Boot features• Setup & configuration• Q&A
Goal
• Development environment• Launch web application• Minimum configuration
Goal
Spring Boot
• Stand-alone Spring applications • Embed Tomcat or Jetty directly (no need
to • deploy WAR files)• Automatically Spring configuration• Absolutely no code generation and no • requirement for XML configuration• Focus on business features and less on• infrastructure
Spring Boot
Spring Boot
Servlets
Filters
Spring Boot plugin
Spring Boot plugin
• spring-boot:run• spring-boot:repackage
Dependencies
Dependencies
Customization
Tomcat 7
Jetty
Auto-configuration
• AopAutoConfiguration• JpaRepositoriesAutoConfiguration• HibernateJpaAutoConfiguration• DataSourceAutoConfiguration• JmsTemplateAutoConfiguration• MongoAutoConfiguration• RedisAutoConfiguration• WebMvcAutoConfiguration• SecurityAutoConfiguration
Properties
Properties
Properties
Class Prefix
MessageSourceAutoConfiguration spring.messages
BatchProperties spring.batch
ElasticsearchProperties spring.data.elasticsearch
FreeMarkerProperties spring.freemarker
JacksonProperties spring.jackson
DataSourceProperties spring.datasource
JerseyProperties spring.jersey
MailProperties spring.mail
MongoProperties spring.data.mongodb
SecurityProperties security
WebMvcProperties spring.mvc
Properties
Spring Boot Actuator
• Helps manage and monitor applications when pushed to production
• Accessible via HTTP, JMX or remote shell
Spring Boot Actuator
• Series of endpoints to help manage your Spring application• Reads properties and spring beans and then returns a JSON view• Allows direct access to non functional
application information without having to open an IDE or a command prompt
Spring Boot Actuator
Spring Boot Actuator
• /info• /health• /beans• /env• /dump• /metrics• /trace• /autoconfigurationreport• /shutdown
Spring Boot Actuator. Health
Spring Boot Actuator. Health
Spring Boot Actuator.Metrics
• Includes a metrics service with ‘gauge’ and ‘counter’ support
• A ‘gauge’ records a single value; and a ‘counter’ records a delta (an increment or decrement)
• Metrics for all HTTP requests are automatically recorded
Spring Boot Actuator.Metrics
• System metrics• Datasource metrics• WebServer metrics• Custom metrics
Spring Boot Actuator. Metrics
Spring Boot Actuator. Custom metrics
Spring Boot Actuator. Metrics
Pro
• No configuration files• Auto-configuration• Maven, Gradle & Ant integration• Tomcat, Jetty and Undertow built-in
support• Configuration for multiple Java
technologies• Monitoring & management out-of-box
Cons
• Based on Spring Framework• Additional configuration for web servers
Q&A