Bộ khởi động mùa xuân Parent

1. Giới thiệu

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về spring-boot-starter-parent và cách chúng ta có thể hưởng lợi từ nó để quản lý phụ thuộc tốt hơn, cấu hình mặc định cho các plugin và nhanh chóng xây dựng các ứng dụng Spring Boot của chúng tôi .

Chúng tôi cũng sẽ xem cách chúng tôi có thể ghi đè các phiên bản của các thuộc tính và phụ thuộc hiện có do starter-parent cung cấp .

2. Spring Boot Starter Parent

Dự án spring-boot-starter-parent là một dự án khởi động đặc biệt - cung cấp các cấu hình mặc định cho ứng dụng của chúng tôi và một cây phụ thuộc hoàn chỉnh để nhanh chóng xây dựng dự án Spring Boot của chúng tôi .

Nó cũng cung cấp cấu hình mặc định cho các plugin Maven như maven-failsafe-plugin , maven-jar-plugin , maven-surefire-plugin , maven-war-plugin .

Ngoài ra, nó cũng kế thừa quản lý phụ thuộc từ spring-boot-dependencies là cha mẹ của s pring-boot-starter-cha .

Chúng tôi có thể bắt đầu sử dụng nó trong dự án của mình bằng cách thêm nó làm cha mẹ trong pom.xml của dự án :

 org.springframework.boot spring-boot-starter-parent 2.2.6.RELEASE 

Chúng tôi luôn có thể nhận được phiên bản mới nhất của spring-boot-starter-parent từ Maven Central.

3. Quản lý sự phụ thuộc

Khi chúng ta đã khai báo cha mẹ khởi động trong dự án của mình, chúng ta có thể lấy bất kỳ phụ thuộc nào từ cha mẹ bằng cách khai báo nó trong thẻ phụ thuộc của chúng tôi .

Ngoài ra, chúng ta không cần phải xác định phiên bản của các phụ thuộc, Maven sẽ tải xuống các tệp jar dựa trên phiên bản được xác định cho phụ thuộc starter trong thẻ cha.

Ví dụ: nếu chúng tôi đang xây dựng một dự án web, chúng tôi có thể thêm spring-boot-starter-web trực tiếp và chúng tôi không cần chỉ định phiên bản:

  org.springframework.boot spring-boot-starter-web  

4. Thẻ quản lý phụ thuộc

Để quản lý một phiên bản phụ thuộc khác được cung cấp bởi nguồn gốc khởi đầu, chúng ta có thể khai báo phụ thuộc và phiên bản của nó một cách rõ ràng trong phần dependencyManagement :

   org.springframework.boot spring-boot-starter-data-jpa 2.2.5.RELEASE   

5. Thuộc tính

Để thay đổi giá trị của bất kỳ thuộc tính nào được xác định trong cấp độ gốc khởi động, chúng ta có thể khai báo lại nó trong phần thuộc tính của chúng ta.

Các lò xo khởi động khởi động cha mẹ qua mẹ của nó vào mùa xuân-boot-phụ thuộc tính chất sử dụng để cấu hình tất cả các phiên bản phụ thuộc, phiên bản Java, và Maven Plugin phiên bản.

Do đó, nó giúp chúng ta dễ dàng kiểm soát các cấu hình này bằng cách chỉ cần thay đổi thuộc tính tương ứng.

Nếu chúng tôi muốn thay đổi phiên bản của bất kỳ phụ thuộc nào mà chúng tôi muốn lấy từ cấp độ gốc khởi đầu, chúng tôi có thể thêm phụ thuộc vào thẻ phụ thuộc và trực tiếp định cấu hình thuộc tính của nó:

 4.11 

6. Ghi đè tài sản khác

Chúng tôi cũng có thể sử dụng thuộc tính cho các cấu hình khác như quản lý phiên bản plugin hoặc thậm chí cho một số cấu hình cơ sở như quản lý phiên bản Java, mã hóa nguồn.

Chúng ta chỉ cần khai báo lại thuộc tính với giá trị mới.

Ví dụ: để thay đổi phiên bản Java, chúng tôi có thể chỉ ra nó trong thuộc tính java.version :

 1.8 

7. Dự án khởi động mùa xuân không có phụ huynh khởi động

Đôi khi chúng tôi có cha mẹ Maven tùy chỉnh. Hoặc, chúng tôi có thể thích khai báo tất cả các cấu hình Maven của mình theo cách thủ công.

Trong trường hợp đó, chúng tôi có thể chọn không sử dụng dự án mẹ spring-boot-starter-cha . Tuy nhiên, chúng ta vẫn có thể hưởng lợi từ cây phụ thuộc của nó bằng cách thêm phụ thuộc vào spring-boot-dependency trong dự án của chúng ta trong phạm vi nhập .

Hãy giải thích điều này bằng một ví dụ đơn giản trong đó chúng ta muốn sử dụng một phụ huynh khác không phải là phụ huynh khởi đầu:

 com.baeldung spring-boot-parent 1.0.0-SNAPSHOT 

Ở đây, chúng tôi đã sử dụng mô-đun cha một dự án khác làm phần phụ thuộc chính của chúng tôi.

Bây giờ, trong trường hợp này, chúng ta vẫn có thể nhận được các lợi ích tương tự của quản lý phụ thuộc bằng cách thêm nó vào phạm vi nhập và loại pom :

   org.springframework.boot spring-boot-dependencies 2.2.6.RELEASE pom import   

Hơn nữa, chúng ta có thể lấy bất kỳ phụ thuộc nào bằng cách khai báo nó trong các phụ thuộc như chúng ta đã làm trong các ví dụ trước. Không cần số phiên bản cho những phụ thuộc đó.

8. Tóm tắt

Trong hướng dẫn này, chúng tôi đã giới thiệu tổng quan về spring-boot-starter-parent và lợi ích của việc thêm nó làm cha mẹ trong bất kỳ dự án con nào.

Tiếp theo, chúng ta đã học cách quản lý các phụ thuộc. Chúng ta có thể ghi đè các phụ thuộc trong dependencyManagement hoặc thông qua các thuộc tính.

Mã nguồn cho các đoạn mã được sử dụng trong hướng dẫn này có sẵn trên Github, một mã sử dụng đoạn mã gốc khởi động và đoạn mã khác sử dụng đoạn mã nguồn gốc tùy chỉnh.