Hướng dẫn này cung cấp một ví dụ mẫu về cách Spring Boot giúp bạn tăng tốc phát triển ứng dụng. Khi bạn đọc thêm các hướng dẫn Bắt đầu với Spring, bạn sẽ thấy nhiều trường hợp sử dụng hơn cho Spring Boot. Hướng dẫn này nhằm cung cấp cho bạn hương vị nhanh của Spring Boot. Nếu bạn muốn tạo dự án dựa trên Khởi động mùa xuân của riêng mình, hãy truy cập Spring Initializr, điền chi tiết dự án của bạn, chọn tùy chọn và tải xuống dự án được đóng gói dưới dạng tệp zip
Những gì bạn sẽ xây dựng
Bạn sẽ xây dựng một ứng dụng web đơn giản với Spring Boot và thêm một số dịch vụ hữu ích vào đó
Những gì bạn cần
Khoảng 15 phút
Trình soạn thảo văn bản hoặc IDE yêu thích
JDK 1. 8 hoặc muộn hơn
Lớp 4+ hoặc Maven 3. 2+
Bạn cũng có thể nhập thẳng mã vào IDE của mình
Bộ công cụ mùa xuân [STS]
Ý TƯỞNG IntelliJ
VSCode
Làm thế nào để hoàn thành hướng dẫn này
Giống như hầu hết các hướng dẫn Bắt đầu với Spring, bạn có thể bắt đầu từ đầu và hoàn thành từng bước hoặc bạn có thể bỏ qua các bước thiết lập cơ bản đã quen thuộc với bạn. Dù bằng cách nào, bạn sẽ kết thúc với mã làm việc
Để bắt đầu lại từ đầu, hãy chuyển sang phần Bắt đầu với Spring Initializr
Để bỏ qua những điều cơ bản, hãy làm như sau
Tải xuống và giải nén kho lưu trữ nguồn cho hướng dẫn này hoặc sao chép nó bằng Git.
./gradlew bootRun
0cd into
./gradlew bootRun
1Tiếp tục tạo một ứng dụng web đơn giản
Khi bạn hoàn thành, bạn có thể kiểm tra kết quả của mình với mã trong
./gradlew bootRun2
Tìm hiểu những gì bạn có thể làm với Spring Boot
Spring Boot cung cấp một cách nhanh chóng để xây dựng các ứng dụng. Nó xem xét đường dẫn lớp của bạn và các bean bạn đã định cấu hình, đưa ra các giả định hợp lý về những gì bạn đang thiếu và thêm các mục đó. Với Spring Boot, bạn có thể tập trung nhiều hơn vào các tính năng kinh doanh và ít hơn vào cơ sở hạ tầng
Các ví dụ sau đây cho thấy Spring Boot có thể làm gì cho bạn
Spring MVC có trên đường dẫn lớp không? . Một ứng dụng Spring MVC cũng cần một bộ chứa servlet, vì vậy Spring Boot sẽ tự động cấu hình nhúng Tomcat
Cầu tàu có nằm trên đường dẫn lớp không? . Spring Boot xử lý việc đó cho bạn
Là Thymeleaf trên classpath? . Spring Boot thêm chúng cho bạn
Đây chỉ là một vài ví dụ về cấu hình tự động mà Spring Boot cung cấp. Đồng thời, Spring Boot không cản trở bạn. Ví dụ: nếu Thymeleaf nằm trên đường dẫn của bạn, Spring Boot sẽ tự động thêm một
./gradlew bootRun3 vào ngữ cảnh ứng dụng của bạn. Nhưng nếu bạn xác định
./gradlew bootRun3 của riêng mình bằng các cài đặt của riêng bạn, Spring Boot sẽ không thêm một. Điều này giúp bạn kiểm soát mà không cần nỗ lực nhiều
Spring Boot không tạo mã hoặc chỉnh sửa tệp của bạn. Thay vào đó, khi bạn khởi động ứng dụng của mình, Spring Boot sẽ tự động kết nối các bean và cài đặt và áp dụng chúng vào ngữ cảnh ứng dụng của bạn
Bắt đầu với Khởi tạo mùa xuân
Bạn có thể sử dụng dự án được khởi tạo trước này và nhấp vào Tạo để tải xuống tệp ZIP. Dự án này được cấu hình để phù hợp với các ví dụ trong hướng dẫn này
Để khởi tạo dự án theo cách thủ công
Điều hướng đến https. //bắt đầu. mùa xuân. io. Dịch vụ này thu thập tất cả các phụ thuộc bạn cần cho một ứng dụng và thực hiện hầu hết các thiết lập cho bạn
Chọn Gradle hoặc Maven và ngôn ngữ bạn muốn sử dụng. Hướng dẫn này giả định rằng bạn đã chọn Java
Nhấp vào Phụ thuộc và chọn Web mùa xuân
Nhấp vào Tạo
Download the resulting ZIP file, which is an archive of a web application that is configured with your choices
Nếu IDE của bạn có tích hợp Spring Initializr, bạn có thể hoàn tất quy trình này từ IDE của mình
Bạn cũng có thể rẽ nhánh dự án từ Github và mở nó trong IDE hoặc trình chỉnh sửa khác của bạn
Tạo một ứng dụng web đơn giản
Bây giờ bạn có thể tạo bộ điều khiển web cho một ứng dụng web đơn giản, như danh sách sau đây [từ
./gradlew bootRun5] cho thấy
package com.example.springboot;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping["/"]
public String index[] {
return "Greetings from Spring Boot!";
}
}
Lớp này được gắn cờ là
./gradlew bootRun6, nghĩa là nó đã sẵn sàng để Spring MVC sử dụng để xử lý các yêu cầu web.
./gradlew bootRun7 ánh xạ
./gradlew bootRun8 sang phương pháp
./gradlew bootRun9. Khi được gọi từ trình duyệt hoặc bằng cách sử dụng curl trên dòng lệnh, phương thức này sẽ trả về văn bản thuần túy. Đó là bởi vì
./gradlew bootRun6 kết hợp
./gradlew bootRun21 và
./gradlew bootRun22, hai chú thích dẫn đến yêu cầu web trả về dữ liệu thay vì chế độ xem
Tạo một lớp Ứng dụng
Spring Initializr tạo một lớp ứng dụng đơn giản cho bạn. Tuy nhiên, trong trường hợp này, nó quá đơn giản. Bạn cần sửa đổi lớp ứng dụng để phù hợp với danh sách sau [từ
./gradlew bootRun23]
./gradlew bootRun5
./gradlew bootRun24 là một chú thích tiện lợi có thêm tất cả những điều sau đây
./gradlew bootRun
25. Gắn thẻ lớp làm nguồn định nghĩa bean cho ngữ cảnh ứng dụng./gradlew bootRun
26. Yêu cầu Spring Boot bắt đầu thêm các bean dựa trên cài đặt đường dẫn lớp, các bean khác và các cài đặt thuộc tính khác nhau. Ví dụ: nếu./gradlew bootRun
27 nằm trên đường dẫn lớp, thì chú thích này sẽ đánh dấu ứng dụng là ứng dụng web và kích hoạt các hành vi chính, chẳng hạn như thiết lập một./gradlew bootRun
28./gradlew bootRun
29. Yêu cầu Spring tìm kiếm các thành phần, cấu hình và dịch vụ khác trong gói./gradlew bootRun
20, để nó tìm bộ điều khiển
Phương thức
./gradlew bootRun21 sử dụng phương thức
./gradlew bootRun22 của Spring Boot để khởi chạy một ứng dụng. Bạn có nhận thấy rằng không có một dòng XML nào không? . Ứng dụng web này là Java thuần 100% và bạn không phải đối phó với việc định cấu hình bất kỳ hệ thống ống nước hoặc cơ sở hạ tầng nào
Ngoài ra còn có một phương thức
./gradlew bootRun24 được đánh dấu là một
./gradlew bootRun25 và phương thức này sẽ chạy khi khởi động. Nó truy xuất tất cả các bean được tạo bởi ứng dụng của bạn hoặc được Spring Boot tự động thêm vào. Nó sắp xếp chúng và in chúng ra
Chạy ứng dụng
Để chạy ứng dụng, hãy chạy lệnh sau trong cửa sổ đầu cuối [trong thư mục
./gradlew bootRun26]
./gradlew bootRun
Nếu bạn sử dụng Maven, hãy chạy lệnh sau trong cửa sổ đầu cuối [trong thư mục
./gradlew bootRun26]
./gradlew bootRun2
Bạn sẽ thấy đầu ra tương tự như sau
./gradlew bootRun2
Bạn có thể thấy rõ hạt đậu
./gradlew bootRun28. Ngoài ra còn có một
./gradlew bootRun29
Bây giờ hãy chạy dịch vụ với curl [trong một cửa sổ đầu cuối riêng biệt], bằng cách chạy lệnh sau [hiển thị cùng với đầu ra của nó]
./gradlew bootRun5
Thêm bài kiểm tra đơn vị
Bạn sẽ muốn thêm một thử nghiệm cho điểm cuối mà bạn đã thêm và Spring Test cung cấp một số máy móc cho điều đó
Nếu bạn sử dụng Gradle, hãy thêm phần phụ thuộc sau vào tệp
./gradlew bootRun50 của bạn
./gradlew bootRun7
Nếu bạn sử dụng Maven, hãy thêm phần sau vào tệp
./gradlew bootRun51 của bạn
./gradlew bootRun9
Bây giờ hãy viết một bài kiểm tra đơn vị đơn giản để mô phỏng yêu cầu và phản hồi của servlet thông qua điểm cuối của bạn, như danh sách sau [từ
./gradlew bootRun52] cho thấy
./gradlew bootRun1
./gradlew bootRun53 đến từ Spring Test và cho phép bạn, thông qua một tập hợp các lớp trình tạo thuận tiện, gửi các yêu cầu HTTP đến
./gradlew bootRun28 và đưa ra các xác nhận về kết quả. Lưu ý việc sử dụng
./gradlew bootRun55 và
./gradlew bootRun56 để tiêm một phiên bản
./gradlew bootRun53. Sau khi sử dụng
./gradlew bootRun56, chúng tôi đang yêu cầu tạo toàn bộ bối cảnh ứng dụng. Một cách khác là yêu cầu Spring Boot chỉ tạo các lớp web của ngữ cảnh bằng cách sử dụng
./gradlew bootRun59. Trong cả hai trường hợp, Spring Boot sẽ tự động cố gắng xác định vị trí lớp ứng dụng chính của ứng dụng của bạn, nhưng bạn có thể ghi đè hoặc thu hẹp nó nếu bạn muốn xây dựng một thứ gì đó khác biệt.
Ngoài việc mô phỏng chu kỳ yêu cầu HTTP, bạn cũng có thể sử dụng Spring Boot để viết một bài kiểm tra tích hợp toàn ngăn xếp đơn giản. Ví dụ: thay vì [hoặc cũng như] bài kiểm tra thử được hiển thị trước đó, chúng tôi có thể tạo bài kiểm tra sau [từ
./gradlew bootRun70]
./gradlew bootRun0
Máy chủ nhúng bắt đầu trên một cổng ngẫu nhiên vì
./gradlew bootRun71 và cổng thực tế được định cấu hình tự động trong URL cơ sở cho
./gradlew bootRun72
Thêm dịch vụ cấp sản xuất
Nếu bạn đang xây dựng một trang web cho doanh nghiệp của mình, có lẽ bạn cần thêm một số dịch vụ quản lý. Spring Boot cung cấp một số dịch vụ như vậy [chẳng hạn như sức khỏe, kiểm toán, đậu, v.v.] với mô-đun bộ truyền động của nó
Nếu bạn sử dụng Gradle, hãy thêm phần phụ thuộc sau vào tệp
./gradlew bootRun50 của bạn
./gradlew bootRun50
If you use Maven, add the following dependency to your
./gradlew bootRun51 file
./gradlew bootRun51
Sau đó khởi động lại ứng dụng. Nếu bạn sử dụng Gradle, hãy chạy lệnh sau trong cửa sổ đầu cuối [trong thư mục
./gradlew bootRun26]
./gradlew bootRun
Nếu bạn sử dụng Maven, hãy chạy lệnh sau trong cửa sổ đầu cuối [trong thư mục
./gradlew bootRun26]
./gradlew bootRun2
Bạn sẽ thấy rằng một tập hợp các điểm cuối RESTful mới đã được thêm vào ứng dụng. Đây là các dịch vụ quản lý do Spring Boot cung cấp. Danh sách sau đây cho thấy đầu ra điển hình
./gradlew bootRun54
Thiết bị truyền động hiển thị như sau
thiết bị truyền động/sức khỏe
bộ truyền động
Ngoài ra còn có một điểm cuối
./gradlew bootRun77, nhưng theo mặc định, nó chỉ hiển thị thông qua JMX. Để kích hoạt nó dưới dạng điểm cuối HTTP, hãy thêm
./gradlew bootRun78 vào tệp
./gradlew bootRun79 của bạn và hiển thị nó bằng
./gradlew bootRun90. Tuy nhiên, có lẽ bạn không nên kích hoạt điểm cuối tắt máy cho ứng dụng có sẵn công khai
Bạn có thể kiểm tra tình trạng của ứng dụng bằng cách chạy lệnh sau
./gradlew bootRun55
Bạn cũng có thể thử gọi tắt máy thông qua cuộn tròn, để xem điều gì xảy ra khi bạn chưa thêm dòng cần thiết [hiển thị trong ghi chú trước] vào
./gradlew bootRun79
./gradlew bootRun56
Do chúng tôi không kích hoạt nên điểm cuối được yêu cầu không khả dụng [vì điểm cuối không tồn tại]
Để biết thêm chi tiết về từng điểm cuối REST này và cách bạn có thể điều chỉnh cài đặt của chúng bằng tệp
./gradlew bootRun79 [trong
./gradlew bootRun93], hãy xem tài liệu về điểm cuối
Xem phần khởi động của Spring Boot
Bạn đã thấy một số "khởi động" của Spring Boot. Bạn có thể thấy tất cả chúng ở đây trong mã nguồn
Hỗ trợ JAR và Hỗ trợ Groovy
Ví dụ cuối cùng cho thấy cách Spring Boot cho phép bạn kết nối các bean mà bạn có thể không biết là mình cần. Nó cũng chỉ ra cách bật các dịch vụ quản lý tiện lợi
Tuy nhiên Spring Boot còn làm được nhiều hơn thế. Nó không chỉ hỗ trợ triển khai tệp WAR truyền thống mà còn cho phép bạn kết hợp các tệp JAR có thể thực thi lại với nhau, nhờ mô-đun trình tải của Spring Boot. Các hướng dẫn khác nhau thể hiện sự hỗ trợ kép này thông qua
./gradlew bootRun94 và
./gradlew bootRun95
Trên hết, Spring Boot cũng có hỗ trợ Groovy, cho phép bạn xây dựng các ứng dụng web Spring MVC chỉ bằng một tệp duy nhất
Tạo một tệp mới có tên là
./gradlew bootRun96 và đặt đoạn mã sau vào đó
./gradlew bootRun57
It does not matter where the file is. Bạn thậm chí có thể phù hợp với một ứng dụng nhỏ bên trong một tweet
Tiếp theo, cài đặt CLI của Spring Boot
Run the Groovy application by running the following command
./gradlew bootRun58
Tắt ứng dụng trước đó để tránh xung đột cổng
Từ một cửa sổ đầu cuối khác, hãy chạy lệnh curl sau [hiển thị cùng với đầu ra của nó]
./gradlew bootRun59
Spring Boot thực hiện điều này bằng cách tự động thêm các chú thích chính vào mã của bạn và sử dụng Groovy Grape để kéo xuống các thư viện cần thiết để chạy ứng dụng
Bản tóm tắt
Xin chúc mừng. Bạn đã xây dựng một ứng dụng web đơn giản với Spring Boot và tìm hiểu cách nó có thể tăng tốc độ phát triển của bạn. Bạn cũng đã bật một số dịch vụ sản xuất tiện dụng. Đây chỉ là một ví dụ nhỏ về những gì Spring Boot có thể làm. Xem tài liệu trực tuyến của Spring Boot để biết thêm thông tin
Xem thêm
Các hướng dẫn sau đây cũng có thể hữu ích
Bảo mật ứng dụng web
Cung cấp nội dung web với Spring MVC
Bạn muốn viết một hướng dẫn mới hoặc đóng góp cho một hướng dẫn hiện có?
Tất cả các hướng dẫn được phát hành với giấy phép ASLv2 cho mã và giấy phép Commons sáng tạo Attribution, NoDerivatives cho văn bản