"Spring Boot. Boot up your development" Сергей Моренец

Preview:

Citation preview

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

Recommended