1. 程式人生 > >使用 Spring Shell 開發 Java 命令列應用

使用 Spring Shell 開發 Java 命令列應用

轉自:https://www.ibm.com/developerworks/cn/java/spring-shell-application/index.html

提到 Java,大家都會想到 Java 在伺服器端應用開發中的使用。實際上,Java 在命令列應用的開發中也有一席之地。在很多情況下,相對於圖形使用者介面來說,命令列介面響應速度快,所佔用的系統資源少。在與使用者進行互動的場景比較單一時,命令列介面是更好的選擇。命令列介面有其固定的互動模式。通常是由使用者輸入一系列的引數,在執行之後把相應的結果在控制檯輸出。命令列應用通常需要處理輸入引數的傳遞和驗證、輸出結果的格式化等任務。Spring Shell 可以幫助簡化這些常見的任務,讓開發人員專注於實現應用的業務邏輯。本文對 Spring Shell 進行詳細的介紹。

Spring Shell 入門

最簡單的建立 Spring Shell 應用的方式是使用 Spring Boot。從 Spring Initializr 網站(http://start.spring.io/)上建立一個新的基於 Apache Maven 的 Spring Boot 應用,然後新增 Spring Shell 相關的依賴即可。本文介紹的是 Spring Shell 2.0.0.M2 版本,目前還只是 Milestone 版本,因此需要在 pom.xml 中新增 Spring 提供的包含 Milestone 版本工件的 Maven 倉庫,如程式碼清單 1 所示。否則的話,Maven 會無法找到相應的工件。

清單 1. 新增 Spring Shell 的 Maven 倉庫
1 2 3 4 5 6 7 <repositories> <repository> <id>spring-milestone</id> <name>Spring Repository</name> <url>https://repo.spring.io/milestone</url> </repository>
</repositories>

在添加了 Spring Shell 的 Maven 倉庫之後,可以在 Spring Boot 專案中新增對於spring-shell-starter 的依賴,如程式碼清單 2 所示。

清單 2. 新增 Spring Shell 所需 Maven 依賴
1 2 3 4 5 <dependency> <groupId>org.springframework.shell</groupId> <artifactId>spring-shell-starter</artifactId> <version>2.0.0.M2</version> </dependency>

我們接著可以建立第一個基於 Spring Shell 的命令列應用。該應用根據輸入的引數來輸出相應的問候語,完整的程式碼如清單 3 所示。從程式碼清單 3 中可以看到,在 Spring Shell 的幫助下,完整的實現程式碼非常簡單。程式碼的核心是兩個註解:@ShellComponent 宣告類GreetingApp 是一個 Spring Shell 的元件;@ShellMethod 表示方法 sayHi 是可以在命令列執行的命令。該方法的引數 name 是命令列的輸入引數,而其返回值是命令列執行的結果。

清單 3. 輸出問候語的命令列應用
1 2 3 4 5 6

相關推薦

使用 Spring Shell 開發 Java 命令應用

轉自:https://www.ibm.com/developerworks/cn/java/spring-shell-application/index.html 提到 Java,大家都會想到 Java 在伺服器端應用開發中的使用。實際上,Java 在命令列應用

採用 spring shell開發 java命令工具

5、springboot+springshell簡單示例程式碼 1)Maven配置 <dependency> <groupId>org.springframework.boot</groupId>

來認識一下venus-init——一個讓你僅需一個命令開始Java開發命令工具

原始碼地址: Github倉庫地址 個人網站:個人網站地址 前言 不知道你是否有過這樣的經歷。不管你是什麼崗位,前端也好,後端也罷,想去了解一下Java開發到底是什麼樣的,它是不是真的跟傳說中的一樣。 於是你拿起鍵盤,用觸控板 ? '' : 抄起滑鼠',開始了Java淌坑之旅。在一把梭的操作之後,面對你搭建的

FFmpeg命令應用備忘錄

三、將PCM轉格式,並編碼成AAC:  ./ffmpeg  -f s16le -ar 16000 -ac 1 -i input-s16le.pcm  -f f32le -ar 16000 -ac 1  -y  input-f32le.pcm&nb

小程式開發工具命令啟動配置

在cmd視窗中使用命令啟動指定的小程式專案 命令形如: wechat -o miniapp-shops 1.自定義一個 wechat.bat 檔案,輸入以下程式碼: @echo off call C:"\Program Files (x86)\Tencent\微信web開發者

java 命令執行時報錯:找不到或無法載入主類

原始碼如下: 路徑目錄(...\src\object) 1 //: ch1.10/Command.java 2 /**@author feilong 3 * @version 1.0 4 */ 5 package object; 6 import java.util.*; 7 8

java命令下如何設定classpath類路徑

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Java命令除錯程式

第一部分 進入除錯模式 通過jre提供的jdb程式可以實現命令列除錯java程式。關於jdb的命令語法可以參考 官方文件。下面我講通過例項手把手將大家學會命令列除錯 Step 1 建立專案 1. mkdir -p ~/jdwp/src/main/java/com/jdwp/t

Java命令引數詳解

最近在學習Gradle相關的知識。下載Gradle原始碼後,未能成功匯入IDEA執行。所以想另闢蹊徑,通過命令列來除錯執行Gradle程式。經過一番搜尋和思考。發現Java通過jdwp可以遠端除錯java程式的。在實踐的過程中,對一些命令列引數的含義不是特別清楚。故有此篇文章。 1.

服務計算 - 3 Golang開發Linux命令實用程式 - selpg

文章目錄 Golang開發Linux命令列實用程式 - selpg 1. 介紹 2. 設計與實現 2.1 設計思路 2.2 功能模組劃分與實現 4 參考文獻

服務計算3 開發 Linux 命令實用程式

文章目錄 概述 1.解析引數 2.命令列的'<','>','|'符號 3.執行命令列的命令 4.總結 概述 本次作業參考潘老師的部落格 https://pmlpml.github.io/ServiceComput

Spring Boot程式接收命令引數

Spring Boot程式可以通過實現CommandLineRunner介面,接收來自命令列的引數。 1. 建立Spring Boot應用程式 通過Spring Boot提供的工具,生成樣例框架程式,不用勾選任何其它額外依賴功能。 2. 修改Applicatio

第8課 如何使用開發環境命令註冊EOS靚號?

1,摘要 【本文目標】 通過本文學習,程式設計師可以在EOS本地環境完成主網心意的12位EOS賬號註冊。 不願意折騰的其他人員可參考文件《第2課 不懂技術,如何搶注熱門EOS賬號?》完成賬號註冊。 【技術收穫】 1) 命令列操作實踐完成主網的12位賬號註冊;

shell終端編輯命令快捷鍵

ctrl+a 移到命令列首 ctrl+e 移到命令列尾 ctrl+y 插入最近刪除的單詞或語句 ctrl+w 刪除游標處到當前單詞開頭部分或語句 ctrl+k 刪除游標處到行尾部分 ctrl+u 刪除游標處到行首部分 ctrl+d 刪除游標後一個字元 ctrl+h 刪除

服務計算(1) Go 語言開發 selpg 命令實用程式

參考 原始碼 /*================================================================= Program name: selpg (SELect PaGes) Purpose: Someti

3 Golang開發Linux命令實用程式

構建命令列引數的結構體,由於引數使用的比較多,可以使用一個結構體儲存起來,使用起來比較方便 type selpg_args struct { startPage int endPage int inFile string pageLen int

java命令編譯class檔案及打包jar

編譯: cmd = "javac -classpath /I:/apache-tomcat-7.0.34/webapps/project/WEB-INF/classes/../temp/com/hongshao/classpath.jar -d /I:/apache-tomc

java 命令匯入(引用)jar包

編譯:     E:/>javac -cp e:/jdom.jar test1.java 執行:    E:/>java -classpath e:/jdom.jar;  test1

使用shell指令碼或命令 新增crontab 定時任務

crontab 是運維過程中常用的定時任務執行工具         一般情況下在有新的定時任務要執行時,使用crontab -e ,將開啟一個vi編輯介面,配置好後儲存退出,但是在自動化運維的過程中往往需要使用shell指令碼或命令自動新增定時任務。接下來結束三種(Cent

Java命令工具 -- jps

功能 jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java程序pid的命令,簡單實用,非常適合在linux/unix平臺上簡單察看當前java程序的一些簡單情況。 原理 jdk中的jps命令可以顯