Giter Club home page Giter Club logo

spring-boot-jumpstart's Introduction

Spring Boot JumpStart

Evolving stakeholder requirements,including Predix 2.0, are driving the need to explore alternative service hosting platforms to ServiceMX environments. We need a tried a tested enterprise framework and a way to rapidly develop, deploy, and maintain applications in this new environment. Spring Boot is a tool that offers a simple paradigm for developing Spring applications with minimal friction. The goal of this repository is to provide you context to familiarize yourself with the tool, and some best practices for common use cases.

Core Concepts

Spring Boot is a tool that leverages existing Java and Spring ecosystem technologies to provide a streamlined developer experience. Spring Boot has four main offerings: automatic configuration, starter dependencies, a command line tool, and the actuator.

Automatic Configuration

Automatic Configuration means the developer no longer has to write explicit configuration for common configuration scenarios. For example, when you need to instantiate a JbdcTemplate as a bean in the Spring application context for accessing a relational database. That's boilerplate you code you need to write every time, and Spring applications are notorious for large amounts of configuration. Spring Boot detects libraries in your class path and instantiates and configures them automatically, relieving the developer the responsibilty of doing so.

Starter Dependencies

Spring Boot provides project dependency management through starter dependencies. Starter dependencies are essentially groups of opinioned and maintained maven or gradle dependencies, coupled to provide a distinct set of functionality. This enables you to define your project by features, rather than tinker with dependencies and versions manually. For example, including the spring-web starter-dependency will add spring-aop, spring-beans, among other packages automatically.

Command Line Tool

The Command Line Tool provides a way to write complete applications without a traditional project build. The CLI detects types used in the program and thereby knows what dependencies to include in the ClassPath. Auto-configuration then kicks in and ensures a Dispatcher Servlet is running and Spring MVC is enabled.

Actuator

The Actuator allows the developer to insepct your application internals at runtime. For example, the developer can see what beans are configured, what decisions were made by auto-configure, environment variables, the state of threads, etc. The Actuator exposees data via API endpoints and a shell interface.

Up and Running

Assuming you are familiar with the basics of Java Development:

  • Ensure you have Java, Maven or Gradle, and Spring intalled and configured.
  • Use the Spring Initializer or the the command line tool spring init to generate your project.
  • Once your project files exist, you can run your spring boot application with gradle bootRun or mvn:spring-boot:run commands.

Resources

spring-boot-jumpstart's People

Watchers

James Cloos avatar Miles Dickinson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.