spring shell 예제

  • 0

spring shell 예제

봄 프로젝트 / 봄 쉘의 새로운 릴리스에 대한 알림을 원하십니까? 스프링 셸은 또한 ExecutionProcessor 인터페이스를 제공하여 „명령 공급자가 명령을 실행하기 직전과 그 직후에 일반 방식으로 호출될 수 있도록 합니다.” 이 간단한 구현에서는 셸에서 프롬프트를 변경했습니다.> CLI-데모로:> 또한 색상을 파란색으로 변경했습니다. 이 클래스는 @Component 개의 추가 된 것으로, Spring이 시작 하는 동안이 콩을 검색 하 고 등록할 수 있습니다. 더 이상 변경이 필요하지 않습니다, 단순히, 빌드 및 응용 프로그램을 다시 실행하 고 새로운 사용자 지정 프롬프트와 함께 인사 해야 합니다. 기본적으로 Spring Shell은 매우 기본적인 방법으로 터미널에 명령 결과를 인쇄하는 것을 지원합니다. 기술 : Java 응용 프로그램이 스프링 셸 프레임 워크를 사용하여 java 응용 프로그램과 상호 작용하는 명령줄 도구입니다. 스프링 쉘은 스프링 기반 응용 프로그램에 대한 명령줄 기능을 제공하는 프레임워크입니다. 우리는 우리 자신의 명령을 쓸 수 있습니다 그리고 우리는 봄 원격 쉘의 상단에 명령을 실행할 수 있습니다. 곧 SpringBoot 응용 프로그램의 친숙한 출력이 시작되는 것을 볼 수 있습니다: 사용자 지정 명령은 CommandMarker 인터페이스를 구현하는 Spring 구성 요소 내에 @CliCommand 개의 부어로 표시된 메서드를 추가하여 노출될 수 있습니다. @CliOption 대한 빈 키 값은 해당 인수를 기본값으로 만듭니다. 이 곳에서, 우리는 어떤 명명 된 인수의 일부가 아닌 쉘에 도입 된 값을 받게됩니다 : 스프링 쉘은이 격차를 채우고 모든 익숙한 개념과 디자인을 사용하여 CLI 응용 프로그램의 개발을 지원하도록 설계된 라이브러리를 Spring 사용자에게 제공하는 것을 목표로합니다. 스프링 프레임워크의 패턴(예: DI 및 IoC)을 참조할 수 있습니다. 오픈 포트를 스캔하는 데는 특히 수천 개의 포트를 스캔하는 데 많은 시간이 걸릴 수 있습니다. 이 작업을 병렬로 처리해야 한다는 것은 분명합니다.

병렬 처리 수준은 스레드 풀 내부의 가능한 스레드 수로 정의할 수 있습니다(확실히 스프링의 비동기 지원을 사용합니다): 이 게시물은 스프링 쉘을 사용하여 개방형 TCP 포트를 스캔하기 위한 간단한 응용 프로그램을 만드는 것입니다. Spring Shell은 최상위 스프링 프레임워크에 구축된 프레임워크로, 명령줄 인수를 java 개체로 변환하기 위해 스프링 기본 변환기를 사용합니다. 스프링 쉘 코어 프레임 워크는 쉘에서 종료 하는 exit 명령 같은 기본 명령 함께 제공, 설명으로 모든 명령을 표시 하는 데 도움이 명령. 거기에서 도움말을 입력하거나 셸 프롬프트에서 . 배너공급자, 프롬프트프로비더 및 HistoryFileNameProvider 인터페이스를 구현하여 셸을 사용자 지정하는 세 가지 방법이 있으며, 모두 이미 제공된 기본 구현으로 모두 제공됩니다. 참고로 나는 자바 구성 지원을 추가하는 스프링 쉘에 대한 PR이 : https://github.com/spring-projects/spring-shell/pull/66 힌트 : 프롬프트 컬러와 ShellHelper 클래스는 이 프로젝트에서 쉽게 꺼내서 넣을 수있는 방식으로 작성됩니다. 다양한 CLI 프로젝트에서 재사용할 수 있는 별도의 쉘 유틸리티 라이브러리(jar)를 제공합니다. 셸에는 이미 모든 CLI의 표준 기능을 제공하는 지우기, 도움말, 종료 등과 같은 몇 가지 기본 제공 명령이 있습니다. 스프링 쉘 모듈 실행: Maven을 빌드 도구로 사용하는 경우 실행 파일을 만들기 위해 아래 maven 어셈블러 플러그인을 추가해야합니다.