Инструмент командной строки SpringBootCLI

Spring Boot задняя часть

命令行工具

Spring Boot CLI — это инструмент командной строки для быстрой разработки приложений Spring. бежатьGroovy(Аналогично стилю Java) script.

spring-cli, похоже, не является инструментом, который может создавать различные параметры и поведение командной строки программы spring-boot, но выполняет groovy-скрипты для быстрого достижения некоторых эффектов.

Версия

SpringBoot-2.2.0.RELEASE

Установить

отОфициальный сайтскачатьspring-cliУстановите, а затем настройте каталог bin с переменными среды. Установка может быть завершенаspring versionПосмотреть версию.

использовать

Запустите приложение с помощью CLI

Создайте новый файл (например, hello.groovy) со следующим содержимым:

@RestController
class ThisWillActuallyRun{
  @RequestMapping("/")
  String home(){
    "Hello World!"
  }
}

Запустите команду:spring run hello.groovy, первая загрузка различных зависимостей происходит относительно медленно, а затем она будет запущена напрямую. В приведенном здесь примере веб-служба запускается с использованием порта по умолчанию. посетивhttp://127.0.0.1:8080/Получите данные возврата.

Вы также можете запустить команду:spring run hello.groovy -- --server.port=9000для указания аргументов командной строки. Примечание: для использования--для разделения команд и аргументов.

Чтобы установить параметры командной строки JVM, вы можете использоватьJAVA_OPTSпеременные среды, как показано ниже:

# linux
JAVA_OPTS=-Xmx1024m spring run hello.groovy
# windows
set "JAVA_OPTS=-Xms256m -Xmx2048m"

Предполагаемые зависимости

Например: согласно@Controllerили @RestControllerили @EnableWebMvcсделать вывод, используяSpring MVC + Embedded Tomcat

Оператор импорта по умолчанию

Для краткости многие операторы импорта выполняются автоматически.

Автоматически выводить основной метод

Groovy-скрипты не должны содержать метод main, как Java-приложения,SpringApplicationавтоматически создается, выполняя ваш скомпилированный код как ресурс.

пользовательское управление зависимостями

Декларация управления зависимостями по умолчанию находится вspring-boot-dependencies, через@DependencyManagementBomКонфигурация, значение аннотации требует, чтобы указанное значение удовлетворяло выражению:groupId:artifactId:version

@DependencyManagementBom("io.spring.platform:platform-bom:1.1.2.RELEASE")

@DependencyManagementBom(["com.example:custom-bom:1.0.0","com.example:another-bom:1.0.0"])

Запуск нескольких файлов ресурсов

spring run *.groovy

Пакетные приложения

spring java my-app.jar *.groovy

Сгенерированный jar содержит классы, сгенерированные скомпилированным приложением, и все зависимости приложения, чтобы его можно было запустить с помощью java-jar. Файл jar также содержит записи из пути к классам приложения. можно использовать--includeа также--excludeДобавляйте и удаляйте явные пути для упаковки в jar-файлы. Ресурсы, включенные по умолчанию, следующие:

public/**, resources/**, static/**, templates/**, META-INF/**, *

Исключения по умолчанию следующие:

.*, repository/**, build/**, target/**, **/*.jar, **/*.groovy

Инициализировать новый проект

initКоманда позволяет вам использовать инструмент оболочки, не выходя изstart.spring.ioСоздайте новый проект, как показано в следующем примере:

# 项目名为 my-project
$ spring init --dependencies=web,data-jpa my-project
Using service at https://start.spring.io
Project extracted to '/Users/developer/example/my-project

В приведенном выше примере создаетсяmy-projectПроект Maven, используяspring-boot-starter-webа такжеspring-boot-starter-data-jpa. можно использовать--listФлаги перечисляют возможности сервиса. следующим образом:


$ spring init --list
=======================================
Capabilities of https://start.spring.io
=======================================

Available dependencies:
-----------------------
actuator - Actuator: Production ready features to help you monitor and manage your application
...
web - Web: Support for full-stack web development, including Tomcat and spring-webmvc
websocket - Websocket: Support for WebSocket development
ws - WS: Support for Spring Web Services

Available project types:
------------------------
gradle-build -  Gradle Config [format:build, build:gradle]
gradle-project -  Gradle Project [format:project, build:gradle]
maven-build -  Maven POM [format:build, build:maven]
maven-project -  Maven Project [format:project, build:maven] (default)

initКоманда поддерживает множество операций, специфичных дляhelpкоманда для просмотра. В следующем примере создается проект Gradle, использующий Java 8 и упакованный в файл war.

$ spring init --build=gradle --java-version=1.8 --dependencies=websocket --packaging=war sample-app.zip
Using service at https://start.spring.io
Content saved to 'sample-app.zip'

Используйте прорезную оболочку

SpringBoot включает полные сценарии командной строки для оболочек BASH и zsh. Если вам не нужно их использовать (используя систему Windows), вы можете использоватьshellКоманда запускает интегрированную оболочку следующим образом:

$ spring shell
Spring Boot (v2.2.0.RELEASE)
Hit TAB to complete. Type \'help' and hit RETURN for help, and \'exit' to quit.

Используя встроенную оболочку, другие команды можно использовать напрямую:

$ version
Spring CLI v2.2.0.RELEASE

Встроенная оболочка поддерживает цветной вывод ANSI иtabнамекать. Если вам нужно запустить собственные команды, вы можете использовать!префикс, для выхода из встроенной оболочки используйтеctrl-c.

добавить расширение

использоватьinstallКоманда для добавления расширений. Допустимые форматы расширения:group:artifact:version,следующим образом:

$ spring install com.example:spring-boot-cli-extension:1.0.0.RELEASE

Помимо установки необходимых вам целевых зависимостей, также будут установлены все его зависимости.

использоватьuninstallКоманда для удаления зависимостей. Как использовать иinstallТакой же. Он удаляет целевые зависимости и все зависимости цели. Чтобы удалить все зависимости расширения, используйте:

$ spring uninstall --all

Разработка приложений с помощью Groovy Beans DSL

Spring framework 4.0 имеет встроенную поддержку DSL. Определения компонентов можно использовать в том же формате в приложении Grooby.

Настройте интерфейс командной строки с помощью settings.xml

Интерфейс командной строки Spring Boot использует Aether (механизм разрешения зависимостей Maven) для разрешения зависимостей. CLI использует конфигурацию maven в ~/.m2/settings.xml для настройки Aether. Интерфейс командной строки следует следующей конфигурации:

  • Offline
  • Mirrors
  • Servers
  • Proxies
  • Profiles
    • Activation
    • Repositories
  • Active profiles

Справочная документация

Официальная документация SpringBootОбщедоступный номер: Yifeixi (сосредоточьтесь на знании домена Javaглубокое обучение, от исходного кода до принципа, систематического и упорядоченного обучения)

逸飞兮