Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to get productive with Spring Boot

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

How to get productive with Spring Boot

Avatar for Madhura Bhave

Madhura Bhave

October 08, 2019

More Decks by Madhura Bhave

Other Decks in Technology

Transcript

  1. Agenda • Getting Started • Dependency Management / Starters /

    start.spring.io • Development-time • Devtools / Auto-configuration report / Configuration Properties / Testing • Production • Actuator endpoints
  2. Starters • One-stop shop for a set of dependencies •

    No copy/paste for common use-cases • Starters are managed dependencies • Community starters
  3. Devtools • Automatic Restarts • Condition evaluation delta • Sensible

    property defaults • Live reload for static resources
  4. Troubleshooting auto-Configuration • Condition Evaluation Report with --DEBUG • Conditions

    Endpoint • Use the source • *AutoConfiguration • @Conditional*
  5. Configuration properties • @Value(${“property”}) are tedious • JSR-303 Validation •

    Auto-completion • /configprops endpoint • Now also immutable
  6. • Why is the app down? • Why does the

    app work locally but not in production? • What version of the app is running in production?
  7. Actuator Endpoints • Health • Info • Environment • Runtime

    configuration of Loggers • JVM Thread dump
  8. Health Endpoint • Aggregates health indicators • Custom health indicators

    can be added • Usage: • Authenticated / Unauthenticated • Health Groups
  9. Info Endpoint • Git Information • Branch / Commit ID

    / Commit time • Build Information • Artifact / Group / Version • Custom Info contributorS
  10. Env Endpoint • Access to the Spring Environment • Shows

    • Active profiles • property sources in the order of precedence
  11. Thread Dump Endpoint • provides a thread dump from the

    application’s JVM • Accepts Text/plain requests • compatible with • https://fastthread.io • https://github.com/irockel/tda