Bootique 介紹

Architecture,REST
Remote
1
12:36 PM · Dec 01 ,2025

1. 概述

Bootique 是一個非常輕量級的開源 無容器 JVM 框架,旨在構建下一代可擴展的微服務。 它建立在嵌入式 Jetty 服務器之上,並完全支持 REST 處理程序,以及 jax-rs

在本文中,我們將展示如何使用 Bootique 構建一個簡單的 Web 應用程序。

2. Maven 依賴項

讓我們開始使用 Bootique,通過將以下依賴項添加到 pom.xml中:


    io.bootique.jersey
    bootique-jersey
    compile


    io.bootique
    bootique-test
    test

但是,Bootique還需要聲明幾個 BOM (“Bill of Material”)導入。因此,以下 <dependencyManagement>部分需要添加到 pom.xml中:


    
        
            io.bootique.bom
            bootique-bom
            0.23
            pom
            import
        
    

Bootique 的最新版本可在 中央 Maven 倉庫 中找到。

要構建一個可運行的 jar 包,Bootique依賴於 maven-shade-plugin。因此,我們也需要添加以下配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
        </plugin>
    </plugins>
</build>

3. 啓動應用程序

啓動 Bootique應用程序最簡單的方法是,從主方法中調用 Bootiqueexec()方法:

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

但是,這不會啓動嵌入式服務器。

NAME
      com.baeldung.bootique.App

OPTIONS
      -c yaml_location, --config=yaml_location
           指定 YAML 配置位置,可以是文件路徑或 URL。

      -h, --help
           顯示此消息。

      -H, --help-config
           顯示有關應用程序模塊及其配置選項的信息。

      -s, --server
           啓動 Jetty 服務器。

這些只是預打包在 Bootique中的可用程序參數。

名稱具有自我解釋性;因此,要啓動服務器,我們需要傳遞 –s–server參數,服務器將運行在 默認端口 8080

4. 模塊

Bootique應用程序使用“模塊”集合。在Bootique的術語中,“模塊是包含一些代碼的Java庫”,這意味着它將每個服務都視為一個模塊。它使用Google Guice進行依賴注入。

要了解其工作原理,我們創建一個接口:

public interface HelloService {
    boolean save();
}

現在,我們需要創建一個實現:

public class HelloServiceImpl implements HelloService {
 
    @Override
    public boolean save() {
        return true;
    }
}

有兩種加載模塊的方式。第一種是使用GuiceModule接口,另一種是使用BootiqueBQModuleProvider,也稱為“自動加載”。

4.1. Guice 模塊

在這裏,我們可以使用Guice
Module接口來綁定實例:

public class ModuleBinder implements Module {
 
    @Override
    public void configure(Binder binder) {
        binder
          .bind(HelloService.class)
          .to(HelloServiceImpl.class);
    }
}

定義模塊後,我們需要將此自定義模塊映射到Bootique實例:

Bootique
  .app(args)
    .module(module)
    .module(ModuleBinder.class)
  .autoLoadModules()
  .exec();

4.2. BQModuleProvider (自動加載)

在這裏,我們只需要定義之前創建的模塊綁定器,使用BQModuleProvider

public class ModuleProvider implements BQModuleProvider {
 
    @Override
    public Module module() {
        return new ModuleBinder();
    }
}

這種技術的優勢在於,我們不需要將任何模塊信息映射到Bootique實例。

我們只需要創建一個文件在/resources/META-INF/services/io.bootique.BQModuleProvider並寫入ModuleProvider的完整名稱,包括包名,Bootique會負責其餘工作:

com.baeldung.bootique.module.ModuleProvider

現在,我們可以使用@Inject註解來在運行時使用服務實例:

@Inject
HelloService helloService;

需要注意的是,由於我們正在使用Bootique自身的DI機制,我們不需要使用Guice @ImplementedBy註解來綁定服務實例。

5. REST 端點使用 JAX-RS API 創建 REST 端點非常簡單:

@Path("/")
public class IndexController {
 
    @GET
    public String index() {
        return "Hello, baeldung!";
    }
 
    @POST
    public String save() {
        return "Data Saved!";
    }
}

為了將端點映射到 Bootique 的自身 Jersey 實例,我們需要定義一個 JerseyModule:

Module module = binder -> JerseyModule
  .extend(binder)
  .addResource(IndexController.class);

6. 配置

我們可以提供基於YAML的屬性文件中的內置或自定義配置信息。

例如,如果我們想在自定義端口上啓動應用程序並添加默認URI上下文“hello”,可以使用以下YAML配置:

jetty:
    context: /hello
    connector:
        port: 10001

現在,在啓動應用程序時,我們需要在config參數中提供該文件的位置:

--config=/home/baeldung/bootique/config.yml

7. 日誌記錄

出 коробке Bootique 附帶了 bootique-logback 模塊。要使用此模塊,我們需要在 pom.xml 中添加以下依賴項:

  <dependency>
    <groupId>io.bootique.logback</groupId>
    <artifactId>bootique-logback</artifactId>
</dependency>

此模塊包含 BootLogger 接口,我們可以對其進行覆蓋以實現自定義日誌記錄:

Bootique.app(args)
  .module(module)
  .module(ModuleBinder.class)
    .bootLogger( new BootLogger() {
      @Override
      public void trace( Supplier<String> args ) {
          // ...
      }
      @Override
      public void stdout( String args ) {
          // ...
      }
      @Override
      public void stderr( String args, Throwable thw ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      驂
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String args ) {
          // ...
      }
      @Override
      public void stderr( String) {
          // ...
      }
      @Override
      public void stderr(String args) {
          // ...
      }
  }
}


This code defines a class named `MyClass` that has a method called `stderr` which takes a string argument `args`.  This method does nothing but print the argument to the console.  This is a placeholder for a real implementation that would handle standard error output.  The `sbParams` parameter is unused.

This is a very basic example, but it demonstrates the structure of a method that could be used to redirect standard error output to a file or another destination.  A real implementation would likely involve using system calls to redirect the output stream.

8. 測試

為了測試,Bootique 包含 bootique-test 模塊。 有兩種方式可以測試一個 Bootique 應用程序。

第一種方法是 ‘foreground’ 方法,它使所有測試用例在主測試線程上運行。

另一種方法是 ‘background’ 方法,它使測試用例在隔離的線程池中運行。

‘foreground’ 環境可以使用 BQTestFactory 初始化:

@Rule
public BQTestFactory bqTestFactory = new BQTestFactory();

‘background’ 環境可以使用 BQDaemonTestFactory 初始化:

@Rule
public BQDaemonTestFactory bqDaemonTestFactory = new BQDaemonTestFactory();

一旦環境工廠準備就緒,我們就可以編寫簡單的測試用例來測試服務:

@Test
public void givenService_expectBoolen() {
    BQRuntime runtime = bqTestFactory
      .app("--server").autoLoadModules()
      .createRuntime();
    HelloService service = runtime.getInstance( HelloService.class );
 
    assertEquals( true, service.save() );
}

9. 結論

在本文中,我們展示瞭如何使用 Bootique 的核心模塊構建應用程序。 還有其他 Bootique 模塊可用,例如 bootique-jooqbootique-kotlinbootique-job 等。 可用模塊的完整列表可以在 這裏 找到。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.