Trang chủHướng dẫnSpring Boot CLI: Cách cài đặt và chạy ứng dụng HelloWorld chi tiết
Java

Spring Boot CLI: Cách cài đặt và chạy ứng dụng HelloWorld chi tiết

CyStack blog 6 phút để đọc
CyStack blog27/08/2025
Locker Avatar

Chris Pham

Technical Writer

Locker logo social
Reading Time: 6 minutes

Trong các bài viết trước, chúng ta đã thảo luận về những kiến thức cơ bản của Spring Boot và việc sử dụng bốn component chính. Hôm nay, chúng ta sẽ đi sâu vào một trong những component đó: Spring Boot CLI.

Spring Boot CLI

Spring Boot CLI là gì?

Spring Boot CLI là một phần mềm giúp bạn chạy và kiểm tra các ứng dụng Spring Boot từ command prompt. Khi chúng ta chạy ứng dụng bằng CLI, nó sẽ tự động sử dụng Spring Boot Starter và Spring Boot AutoConfigurate để giải quyết tất cả các phụ thuộc (dependencies) và thực thi ứng dụng.

Nó tích hợp sẵn Groovy và Grape (một công cụ quản lý các phụ thuộc JAR – JAR Dependency Manager) để tự động thêm các cấu hình mặc định của Spring Boot và giải quyết tất cả các phụ thuộc một cách tự động.

Chúng ta sẽ tìm hiểu về cách cài đặt, thiết lập và các lệnh của CLI trong môi trường Windows. Cách thực hiện cũng tương tự với các môi trường khác.

Cài đặt Spring Boot CLI

Bạn có thể cài đặt phần mềm Spring Boot CLI bằng cách sử dụng Windows Installer hoặc tệp tin nén. Cả hai cách này đều dễ thực hiện và cho ra kết quả giống nhau. Chúng ta sẽ sử dụng cách dễ hơn là dùng tệp tin nén với phiên bản mới nhất: 1.2.3.RELEASE. Bạn có thể tải phần mềm Spring Boot CLI tại: https://start.spring.io/ (Đây là giao diện web của Spring Initializr. Chúng ta sẽ thảo luận chi tiết về thành phần này trong các bài viết sắp tới). Vui lòng làm theo các bước sau để cài đặt và thiết lập phần mềm Spring Boot CLI trong môi trường Windows.

  • Tải tệp tin nén Spring Boot CLI từ Spring Initializr. Nhấp vào nút “Download Spring CLI Zip” như hình dưới đây:

download springboot cli

  • Sau khi tải tệp tin nén Spring Boot CLI về máy, bạn sẽ thấy nó như thế này.

springboot cli software

  • Giải nén (Extract) tệp tin spring-boot-cli-1.2.3.RELEASE.zip vào hệ thống tệp tin cục bộ (Local FileSystem).

springboot cli home

  • Thiết lập các biến môi trường cho Spring Boot CLI trong hệ thống Windows như sau:
set PATH=D:\\spring-boot-cli-1.2.3.RELEASE\\bin;%PATH%
  • Thực thi lệnh sau để kiểm tra quá trình cài đặt:

springboot cli version

Chúng ta có thể sử dụng spring --version để biết phiên bản của Spring Boot CLI.

spring --version

Chúng ta có thể sử dụng spring --help để biết các lệnh của Spring Boot CLI.

spring --help

Bây giờ quá trình cài đặt Spring Boot CLI đã hoàn tất. Trước khi đi vào ví dụ “Hello World”, chúng ta hãy xem cách chạy các tập lệnh Groovy từ command prompt.

Lệnh spring của Spring Boot

Phần mềm Spring Boot CLI cung cấp lệnh spring để chạy các tập lệnh Groovy của Spring Boot từ Command Prompt. Như đã thấy ở trên, lệnh spring --help có nhiều tùy chọn cho các mục đích khác nhau. Một tùy chọn quan trọng mà chúng ta sẽ sử dụng ở đây là run. Cú pháp của lệnh spring là:

 spring run <SpringBoot-Groovy-Scriptname>

Đây là tên của tệp lệnh Groovy của một ứng dụng Spring Boot. Chúng ta sẽ sử dụng lệnh này để thực thi ví dụ “Hello World” của mình. Bây giờ, hãy làm việc với ví dụ “Hello World” đơn giản bằng Spring Boot CLI.

Ví dụ “Hello World” với Spring Boot

Chúng ta sẽ phát triển một ví dụ về Spring Boot MVC RestController. Đây là ví dụ đầu tiên được nhóm Pivotal công bố trên Twitter để trình bày sức mạnh của Framework Spring Boot. Vui lòng làm theo các bước sau để phát triển ví dụ “Hello World” với Spring Boot:

  • Tạo một thư mục tên là “HelloWorld” trong hệ thống tệp tin cục bộ của bạn để lưu trữ các tập lệnh Groovy.
  • Phát triển một tệp lệnh Groovy với nội dung sau:
@RestController
class HelloWorld {
  @RequestMapping("/")
  String hello() {
    "Hello JournalDev World."
  }
}

Lưu tệp này dưới tên HelloWorld.groovy. Đuôi mở rộng .groovy là bắt buộc.

Giải thích code:

  • Định nghĩa một REST Controller bằng cách sử dụng annotation @RestController của Spring 4 MVC.
  • Định nghĩa một đường dẫn (Mapping URL) “/” bằng cách sử dụng annotation @RequestMapping của Spring MVC.
  • Định nghĩa một phương thức (method) để trả về một chuỗi ký tự cho Client hoặc trình duyệt web.

Những điểm cần chú ý về code: Nếu chúng ta quan sát tệp HelloWorld.groovy của mình, chúng ta có thể thấy những điểm quan trọng sau:

  • Không có lệnh import.
  • Không có các cấu hình XML (XML configuration) khác để định nghĩa các thành phần Spring MVC như Views, ViewResolver, v.v.
  • Không có tệp web.xml và không có khai báo DispatcherServlet.
  • Không có tập lệnh xây dựng để tạo tệp war cho ứng dụng của chúng ta.
  • Không cần tạo tệp war để triển khai (deploy) ứng dụng này.

Vậy ai sẽ cung cấp tất cả những thứ này cho ứng dụng “Hello World” của chúng ta? Trước tiên hãy chạy ứng dụng và xem kết quả, sau đó chúng ta sẽ trả lời câu hỏi này. Bây giờ thư mục ví dụ “Hello World” của chúng ta trông như thế này:

springboot cli helloworld

Giờ đây, ví dụ “Hello World” của chúng ta đã sẵn sàng với Spring MVC RestController. Đã đến lúc chạy và kiểm tra ví dụ này để biết sức mạnh của Framework Spring Boot.

Chạy ví dụ “Hello World” với Spring Boot

Vui lòng làm theo các bước sau để kiểm tra ứng dụng “Hello World” của chúng ta:

  • Mở command prompt tại thư mục “HelloWorld”.
  • Thực thi lệnh sau:
 spring run HelloWorld.groovy
  • Quan sát đầu ra tại console của lệnh spring run.

springboot cli start

Nếu chúng ta quan sát ở đây, khi chúng ta thực thi spring run HelloWorld.groovy, nó sẽ khởi động một máy chủ Tomcat nhúng (Embedded Tomcat server) tại cổng mặc định là 8080. Bây giờ ứng dụng ví dụ “Hello World” của chúng ta đã chạy và hoạt động. Đã đến lúc kiểm tra nó.

LƯU Ý: Nếu bạn quan sát ảnh chụp màn hình ở trên, tôi đã làm nổi bật tệp lớp (class file) SpringApplication. Ở đây o.s.boot.SpringApplication có nghĩa là lớp org.springframework.boot.SpringApplication. SpringApplication là gì? SpringApplication dùng để làm gì? Vui lòng tham khảo các bài viết sắp tới của tôi để trả lời những câu hỏi này. Mở trình duyệt và truy cập liên kết sau: https://localhost:8080/

springboot helloworld output

Bây giờ chúng ta đã có thể truy cập WebService RESTful Spring Boot MVC đầu tiên của mình.

Nếu chúng ta quan sát ứng dụng Spring Boot này, chúng ta có thể nảy sinh câu hỏi: ai sẽ cung cấp tất cả những thứ này cho ứng dụng “Hello World” của chúng ta?

  • Không có lệnh import.
  • Không có các cấu hình XML khác để định nghĩa các thành phần Spring MVC như Views, ViewResolver, v.v.
  • Không có tệp web.xml và không có khai báo DispatcherServlet.
  • Không có tập lệnh xây dựng để tạo tệp war cho ứng dụng của chúng ta.
  • Không cần tạo tệp war để triển khai ứng dụng này.

Câu trả lời cho câu hỏi này: Đó là trách nhiệm của các thành phần cốt lõi của Spring Boot, trình biên dịch Groovy (Groovy Compiler) và Groovy Grape (trình quản lý phụ thuộc JAR của Groovy). Các thành phần Spring Boot sử dụng trình biên dịch Groovy và Groovy Grape để cung cấp một số cấu hình mặc định như thêm các lệnh imports cần thiết, cung cấp cấu hình cần thiết, giải quyết các phụ thuộc của JAR, thêm phương thức main(), v.v.

Là một nhà phát triển Spring Boot, chúng ta không cần phải lo lắng về tất cả những điều này. Khung Framework Spring Boot sẽ lo tất cả những điều này cho chúng ta. Đó là vẻ đẹp của khung làm việc Spring Boot. Bằng cách này, khung làm việc Spring Boot tránh được rất nhiều mã lặp đi lặp lại và cấu hình Spring, rút ngắn thời gian phát triển và tăng năng suất.

Ở đây chúng ta chưa thảo luận nhiều về annotations của Spring Boot, API của Spring Boot, mục đích sử dụng của phương thức main() trong ứng dụng Spring Boot, v.v. Chúng ta sẽ trả lời tất cả những câu hỏi này trong các bài viết sắp tới bằng cách sử dụng các IDE (môi trường phát triển tích hợp) của Spring Boot. Đó là tất cả về Spring Boot CLI. Nếu bạn có bất kỳ câu hỏi nào, vui lòng để lại bình luận.

0 Bình luận

Đăng nhập để thảo luận

Chuyên mục Hướng dẫn

Tổng hợp các bài viết hướng dẫn, nghiên cứu và phân tích chi tiết về kỹ thuật, các xu hướng công nghệ mới nhất dành cho lập trình viên.

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của CyStack sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.

Đăng ký nhận Newsletter

Nhận các nội dung hữu ích mới nhất