Schnellstart

Verbindet das Backend-Quellmaterial mit Entity, Handler und Swagger-Watcher und überprüft die ersten Ergebnisse der Erstellung.


Gesamte lokale Einstellungen

WatchForMainRunSpring.java
java
@Configuration
@Profile("local")
public class WatchForMainRunSpring {

  private WatchForMainRun runner;

  @PostConstruct
  public void start() {
    var entityConfig = EntityFileWatcher.Config.builder()
        .rootPath("src.main.java")
        .entityPackage("com.example.entity")
        .fieldPackage("com.example.util.fields")
        .collectionNamePackage("com.example.util")
        .build();

    var handlerConfig = HandlerGenerator.Config.builder()
        .rootPath("src.main.java")
        .routerPackage("com.example.web.router")
        .handlerOutputDir("src.main.java.com.example.web.handler")
        .addAutoImport(ReactiveMongoDsl.class)
        .addAutoImport(ResponseWrapper.class)
        .addStaticAutoImport(
            HandlerGenerator.StaticImportSpec.of(ResponseWrapper.class, "response")
        )
        .addStaticAutoImport(
            HandlerGenerator.StaticImportSpec.of(FieldsPair.class, "pair")
        )
        .build();

    var swaggerConfig = SwaggerJsonFileWatcher.Config.builder()
        .watchDirectory("src/main/java")
        .swaggerOutputFile("src/main/resources/static/swagger.json")
        .build();

    runner = new WatchForMainRun(
        WatchForMainRun.Config.builder()
            .debounceMillis(400)
            .entityConfig(entityConfig)
            .handlerConfig(handlerConfig)
            .swaggerConfig(swaggerConfig)
            .build()
    );

    try {
      runner.start();
    } catch (Exception e) {
      throw new IllegalStateException("Failed to start development watchers", e);
    }
  }

  @PreDestroy
  public void stop() {
    if (runner != null) runner.stop();
  }
}

Erstmalige Ausführung und Änderungsüberwachung

start() erstellt eine Watcher-Instanz und führt den ersten Generierungspass aus, bevor es sich für Ereignisse von Quelländerungen anmeldet. Mehrere Dateiereignisse werden basierend auf debounceMillis zusammengefasst und erneut generiert.

Nächstes Dokument

© 2026 Byeolnaerim. Alle Rechte vorbehalten.EinführungDatenschutzrichtlinie