Published Sep 23, 2019

Episode 381: Josh Long on Spring Boot

Marcus Blankenship talks with Josh Long about the challenges of reactive programming, spotlighting R2DBC's role in SQL integration and Spring Boot's utilities that streamline application setup. The episode delves into Spring Framework enhancements that boost productivity and the advantages of its opinionated design for enterprise web development.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Autoconfiguration

    Spring Boot's autoconfiguration and starter projects streamline the setup of applications by automatically configuring necessary components based on the project's dependencies. explains that by simply specifying a few properties, such as database credentials, Spring Boot can configure a data source and other necessary components, allowing developers to focus on writing business logic 1. The Spring Initializr, accessible via start.spring.io, offers a user-friendly interface where developers can select dependencies and generate a project structure ready for import into an IDE 2.

    You specify you want distributed tracing, right? You bring whatever you want. There's a checkbox there.

    ---

    This approach reduces boilerplate code and accelerates the development process.

       

    Metrics & Actuators

    Spring Boot provides robust tools for monitoring application health through its actuator endpoints, which offer insights into metrics, uptime, and subsystem health. highlights that these endpoints can be exposed as HTTP or JMX endpoints, allowing integration with monitoring tools like Prometheus or Datadog 3. Additionally, developers can create custom metrics to track specific application performance indicators, such as transaction rates or queue depths 4.

    You can write your own timers and counters and have them published alongside the metrics of CPU usage.

    ---

    This flexibility ensures that applications are not only functional but also maintainable and scalable.

       

    Project Setup

    Setting up a new project with Spring Boot is simplified through its integration with various IDEs, allowing developers to generate and import projects directly. notes that Spring Boot tools are available for major IDEs like IntelliJ, NetBeans, and Visual Studio Code, facilitating a seamless development experience 5. Once a project is set up, developers can manually add or modify dependencies, ensuring flexibility in project configuration 6.

    It's just a Maven project. You don't need start spring anymore to be able to change that.

    ---

    This adaptability allows developers to tailor their projects to specific needs without being locked into a rigid structure.

Related Episodes