Tại sao bootstrapping hoạt động
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 Show
Những gì bạn sẽ xây dựngBạ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
Làm thế nào để hoàn thành hướng dẫn nàyGiố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
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 BootSpring 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
Đâ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ânBạ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
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ảnBâ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
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ụngSpring 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
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ấtNế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
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 BootBạ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ợ GroovyVí 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ắtXin 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êmCác hướng dẫn sau đây cũng có thể hữu ích
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 |