Spring Boot CLI 安裝與使用

Spring Boot CLI 安裝與使用

環境安裝:

我的電腦環境上 Mac,所以就是用 Homebrew 來安裝囉!

依照官方文件的做法是這樣的

$ brew tap pivotal/tap # 切換一下 Homebrew 倉庫

$ brew install springboot # 安裝 Spring Boot CLI

建立工具說明

簡單執行一下 spring init

$ spring init
Using service at https://start.spring.io
Content saved to 'demo.zip'

這樣就會在目錄下產生一個 demo.zip 的檔案,這個 demo.zip 檔案解開就是 Spring Boot CLI 幫我們建立的專案了!

CLI 建立專案設定

我們不可能每次都簡簡單單只用 spring init 來建立專案,事實上,多半時候只用 spring init 是不能夠滿處我們的需求的!

那要怎麽客製化 Spring Boot CLI 所產生的內容呢?
我們可以透過 spring help init 來取得說明 方便我們做一些參數的設定

$ spring help init

spring init - Initialize a new project using Spring Initializr (start.spring.io)

usage: spring init [options] [location]

Option                       Description                                       
------                       -----------                                       
-a, --artifactId <String>    Project coordinates; infer archive name (for      
                               example 'test')
-b, --boot-version <String>  Spring Boot version (for example '1.2.0.RELEASE') 
--build <String>             Build system to use (for example 'maven' or       
                               'gradle') (default: maven)                      
-d, --dependencies <String>  Comma-separated list of dependency identifiers to 
                               include in the generated project
# ... 略過 ...

哈哈! 看到一堆火星文
不過這些是非常有用的資訊哦!
我們的 groupId 、artifactId、dependencies 等等的設定方法,都可以在這邊查到使用方法唷!如果真的要完全只用 Spring Boot CLI 來進行專案設定,是一定會反覆的看這寫資訊的!

我們直接來個範例解說吧!

$ spring init 
 -j 11 \
 -g com.judysocute \
 -a first-prj \
 -p jar \
 -d devtools,lombok,thymeleaf,web
  • -j : 決定我們的 Java 版本,這邊指定到 JAVA 11
  • -g : groupId
  • -a : artifactId ( 這個參數會影響輸出出來的檔名唷!此例會輸出 first-prj.zip )
  • -p : jar 專案打包的類型
  • d : 要引入的相依專案

ok! 這樣專案就建立起來了~ 接下來解壓縮檔案來看看裡面的結構吧!

專案結構

.
├── HELP.md
├── first-prj.iml
├── mvnw          # 這兩個是 Maven 包裝器 ( wrapper )腳本,
├── mvnw.cmd      # 藉由這些腳本,即使我們的機器上沒有 Maven 環境也可以構建項目。
│
├── pom.xml       # Maven 專案模型
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── judysocute
│   │   │           └── DemoApplication.java # Main 方法位置,透過它來啟動專案
│   │   └── resources
│   │       └── static      # 靜態文件
│   │       └── templates   # 用來渲染內容到瀏覽器的模板文件
│   │       └── application.properties # 預設是空的,他用來提供指定配置屬性
│   └── test # 測試目錄

有可能你建立出來的專案結構會跟我少為一點點不同,主要的不同會是 DemoApplication.java 的位置,它預設好像會多一層 package 在裡面

以我的案例是
src/test/java/com/judysocute/firstprj/DemoApplication.java
但是我不太喜歡把 articleId 放到專案目錄,就自己手動把 articleId 那層拿掉了~
( 個人習慣 )


murmur 一下

今天 Spring Boot CLI 就簡單介紹到這裡吧!
常常在學的時候會看到很多 Spring Boot 工具,
Spring Tool SuiteSpring Initializr 等等的工具…

它們都是非常好的工具,可以有效的提升建立專案的速度,有簡潔好用的介面可以讓我們使用
但是我自己是 IntelliJ Community 的長期用戶,Spring Tool Suite 不能裝,要有內建的 Spring Boot 支援又好像只能付費升級到專業版,
這種要費的建立專案方式,我實在是不太想要在初學還沒有感受到它的好處之前就花下去 ( 尤其 JetBrains 的價格真的是滿高的~ )

我平常在前端建立專案也都是用 Vue CLI,所以就挑了一個建立流程差不多的工具來使用囉!希望能多少幫助到跟我一樣習慣的人~


終於 也開始要進入 Spring 的開發了,前面 2X 週,去寫 Servlet 的文章,老實說真的是抓不太到 Servlet 的方向。

要說它老舊沒人在用了,確實是很久了,大家也轉去使用 Spring 了,但是 Servlet 也從來沒有消失過,而是變成了底層在運作。

我自己是希望稍微瞭解一下 Servlet 的基礎對後來使用 Spring 的掌握度可以更高,而不是迷迷糊糊看到程式會動就好這樣…

wayne

No Comment

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

文章分類