Intro
JRE & JDK安裝
1. 安裝JRE:
# Ubuntu
$ sudo apt install default-jre
驗證JAVA版本:
$ java -version
2. 安裝JDK (一般會包含JRE)
# Ubuntu
$ sudo apt install default-jdk
使用JAVAC驗證版本:
$ javac -version
管理與選擇JAVA版本
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
Quick Start
HelloWorld編譯測試
測試撰寫一支HelloWorld.java
檔案以供編譯:
public class HelloWorld {
public static void main (String[] args) {
System.out.printf("Hello World");
}
}
使用javac
指令編譯該程式檔案:
$ javac HelloWorld.java
使用java
執行編譯產生出來的Class(HelloWorld.class)名稱:
$ java HelloWorld
常用函數
System.out.println("HelloWorld");
System.exit(0);
JAVA Package套件管理
Maven Central支援多種Dependency工具,對應工具的安裝方法可以參考官網,例如套件:org.apache.httpcomponents.client5:httpclient5:5.1
Maven Project
Maven專案使用專案物件模型(Project Object Model,POM)來組態。
專案物件模型儲存在名為 pom.xml
的檔案中。
Gradle
Gradle是一個基於Apache Ant和Apache Maven概念的專案自動化建構工具,預設來源套件庫一樣使用mavenCentral()
。
可以透過安裝並指令執行Gradle以建立專案,或直接用IDE建立: Building Java Applications Sample
透過修改build.gradle
設定dependencies,完成後 Load Gradle Changes 時即會更新套件:Managing Dependencies of JVM Projects
Logging
Java built-in java.util.logging
開發工具安裝(JetBrains - IntelliJ IDEA)
Create New Project (建立全新專案)
Project SDK請選擇環境上所偵測到的JAVA路徑。
接著建立專案進行撰寫與執行輸出即可。
Spring Web
Spring Web可以搭配IntelliJ IDEA Community版本開發,Spring Initializr提供產生Project檔案以供匯入專案進行開發。
Spring Quick Start: https://spring.io/quickstart
Dependencies選擇"Spring Web",其他項目依照喜好及配置選擇
匯出zip檔解包後,將資料夾使用IntelliJ Open project,進入後會自動Build Project,
Project完成可用後可以點進src/main/java/{Group}.web
找Application檔案右鍵執行Run
來測試,
可以看到預設會在localhost:8080上啟動服務(Tomcat initialized with port(s): 8080 (http)
)。
Controller建立
Spring Quick Start預設沒有Controller,可以在左側導覽右鍵點選{Group}.web
資料夾: New > Java Class,
建立一個Controller例如HelloController
,Class內容只會自動填好package,往下自行來撰寫Code,範例如下:
import org.springframework.web.bind.annotation.*;
@RestController
public class HelloController {
@GetMapping("/")
public String index() {
return "Welcome to Spring Boot!";
}
@GetMapping("/hello")
public String hello() {
return "Hello";
}
}
Multi-threading
References
Appendix
HTTP Client
-
JAVA內建的HTTP Client為
URLConnection
: -
較熱門使用的HTTP Client套件為
Apache HttpClient
:
JAVA HTTP Client範例程式碼:JAVA HTTP Client Sample codes