Giter Club home page Giter Club logo

workbench-spring-boot-starter-gradle's Introduction

Spring Boot Starter Workbench Project utilizing Gradle as Build Tool

This workbench project demonstrates how to setup a Spring Boot Starter and Auto Configuration as a project using Gradle, Java and Kotlin.

It includes the following sub-projects:

  • greet-library: A sample library that is configured by the Starter and is mandatory for all consumer applications. It is therefore automatically included as a transitive dependency.

  • greet-opt-library: A sample library that is configured by the Starter and is optional for consumer applications. It has to be explicitly declared as a dependency by the consumer.

  • gradle-workbench-spring-boot-autoconfigure: The autoconfiguration implementation. It shows how to handle classes that may not be present on the classpath when the consumer is running.

  • gradle-workbench-spring-boot-autoconfigure-kt: The autoconfiguration implemented in Kotlin.

  • gradle-workbench-spring-boot-starter: The Spring Boot Starter that is declared as a dependency by the consumer and references all mandatory transitive dependencies.

  • gradle-workbench-spring-boot-starter-kt: The Spring Boot Starter referencing the Kotlin implementation of the autoconfiguration.

  • sample-application-simple: A cli Spring Boot application demonstrating the usage of the Starter without using the optional library.

  • sample-application-optional: A cli Spring Boot application demonstrating the usage of the Starter including the optional library.

  • integration-test: A module demonstrating how to write integration tests that utilize the auto-configuration implementation.

How to build

The libraries, starter and autoconfiguration are build as Gradle multi-project. The sample applications are separate Gradle projects.

The starter project has to be build and published to the local maven repository once before building the sample applications.

Build the Starter and Libraries

To build the starter, auto-configuration and library projects and publish them to the local maven repository use ./gradlew clean build publishToMavenLocal.

Build and run the Sample Applications

In either the sample-application-simple or sample-application-optional folder use ./gradlew clean bootRun to start the application.

Execute the Integration Tests

By default the integration-tests will be disabled. To run them use the integrationTest gradle task.

Where to get more Information

See the Spring Boot Documentation for more information

workbench-spring-boot-starter-gradle's People

Contributors

roamingthings 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.