MCPcopy Index your code
hub / github.com/bootique/bootique

github.com/bootique/bootique @3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.0 ↗ · + Follow
4,229 symbols 16,022 edges 532 files 458 documented · 11%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

build test deploy Maven Central

Bootique is a minimally opinionated java launcher and integration technology. It is intended for building container-less runnable Java applications. With Bootique you can create REST services, webapps, jobs, DB migration tasks, etc. and run them as if they were simple commands. No JavaEE container required! Among other things Bootique is an ideal platform for Java microservices, as it allows you to create a fully-functional app with minimal setup.

Each Bootique app is a collection of modules interacting with each other via dependency injection. This GitHub project provides Bootique core. Bootique team also develops a number of important modules. A full list is available here.

Quick Links

Support

You have two options: * Open an issue on GitHub with a label of "help wanted" or "question" (or "bug" if you think you found a bug). * Post a question on the Bootique forum.

TL;DR

For the impatient, here is how to get started with Bootique:

  • Declare the official module collection:
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.bootique.bom</groupId>
            <artifactId>bootique-bom</artifactId>
            <version>3.0-RC1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency> 
    </dependencies>
</dependencyManagement>
  • Include the modules that you need:
<dependencies>
    <dependency>
        <groupId>io.bootique.jersey</groupId>
        <artifactId>bootique-jersey</artifactId>
    </dependency>
    <dependency>
        <groupId>io.bootique.logback</groupId>
        <artifactId>bootique-logback</artifactId>
    </dependency>
</dependencies>
  • Write your app:
package com.foo;

import io.bootique.Bootique;

public class Application {
    public static void main(String[] args) {
        Bootique
            .app(args)
            .autoLoadModules()
            .exec()
            .exit();
    }
}

It has main() method, so you can run it!

For a more detailed tutorial proceed to this link.

Upgrading

See the "maven-central" badge above for the current production version of bootique-bom. When upgrading, don't forget to check upgrade notes specific to your version.

Extension points exported contracts — how you extend this code

BQModuleProvider (Interface)
A provider of a DI module of a given kind. Central to Bootique module autoloading and metadata discovery. Autoloaded mod [7 …
bootique/src/main/java/io/bootique/BQModuleProvider.java
BQAfterScopeCallback (Interface)
@since 2.0 [6 implementers]
bootique-junit5/src/main/java/io/bootique/junit5/scope/BQAfterScopeCallback.java
Hello (Interface)
(no doc) [6 implementers]
bootique-docs/src/test/java/io/bootique/docs/programming/injection/Hello.java
Car (Interface)
(no doc) [1 implementers]
bootique-jsr330-javax-tck/src/test/java/io/bootique/di/tck/Car.java
Car (Interface)
(no doc) [1 implementers]
bootique-jsr330-tck/src/test/java/io/bootique/di/tck/Car.java
BQModule (Interface)
Represents a unit of configuration of the Bootique DI container. [129 implementers]
bootique/src/main/java/io/bootique/BQModule.java
BQBeforeScopeCallback (Interface)
@since 2.0 [4 implementers]
bootique-junit5/src/main/java/io/bootique/junit5/scope/BQBeforeScopeCallback.java
MyService (Interface)
(no doc) [1 implementers]
bootique-docs/src/test/java/io/bootique/docs/programming/modules/service/MyService.java

Core symbols most depended-on inside this repo

get
called by 428
bootique/src/main/java/io/bootique/di/spi/DecoratorProvider.java
build
called by 372
bootique/src/main/java/io/bootique/ModuleCrate.java
bind
called by 226
bootique/src/main/java/io/bootique/di/Binder.java
getInstance
called by 208
bootique/src/main/java/io/bootique/di/Injector.java
module
called by 172
bootique/src/main/java/io/bootique/BQModuleProvider.java
get
called by 172
bootique/src/main/java/io/bootique/di/Key.java
app
called by 165
bootique/src/main/java/io/bootique/Bootique.java
to
called by 148
bootique/src/main/java/io/bootique/di/BindingBuilder.java

Shape

Method 3,259
Class 874
Interface 90
Enum 6

Languages

Java100%

Modules by API surface

bootique/src/test/java/io/bootique/Bootique_CliOptionsIT.java75 symbols
bootique/src/test/java/io/bootique/ConfigurationFactory_InjectionWithInheritanceIT.java74 symbols
bootique/src/test/java/io/bootique/ConfigurationFactory_InjectionIT.java65 symbols
bootique/src/test/java/io/bootique/di/ProvidesIT.java62 symbols
bootique-jsr330-tck/src/test/java/io/bootique/di/tck/InjectorTest.java55 symbols
bootique-jsr330-javax-tck/src/test/java/io/bootique/di/tck/InjectorTest.java55 symbols
bootique/src/test/java/io/bootique/meta/config/ConfigMetadataCompilerTest.java51 symbols
bootique/src/test/java/io/bootique/Bootique_ModuleOverridesIT.java45 symbols
bootique/src/main/java/io/bootique/di/spi/DefaultInjector.java44 symbols
bootique/src/test/java/io/bootique/di/GenericTypesIT.java43 symbols
bootique/src/test/java/io/bootique/BootiqueExceptionsHandlerIT.java42 symbols
bootique/src/test/java/io/bootique/command/CommandDecoratorIT.java40 symbols

Datastores touched

(mysql)Database · 1 repos
mydbDatabase · 1 repos

For agents

$ claude mcp add bootique \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact