Ibu Bapa Permulaan Spring Boot

1. Pengenalan

Dalam tutorial ini, kita akan belajar mengenai spring-boot-starter-parent dan bagaimana kita dapat memanfaatkannya untuk pengurusan pergantungan yang lebih baik, konfigurasi lalai untuk pemalam dan membina aplikasi Spring Boot dengan cepat .

Kami juga akan melihat bagaimana kami dapat mengganti versi kebergantungan dan sifat sedia ada yang disediakan oleh pemula-induk.

2. Ibu bapa Spring Boot Starter

Projek spring-boot-starter-induk adalah projek starter khas - yang menyediakan konfigurasi lalai untuk aplikasi kami dan pokok pergantungan lengkap untuk membina projek Spring Boot kami dengan cepat .

Ia juga menyediakan konfigurasi lalai untuk plugin Maven seperti maven-failafe-plugin , maven-jar-plugin , maven-surefire-plugin , maven-war-plugin .

Di luar itu, ia juga mewarisi pengurusan pergantungan dari spring-boot-dependencies yang merupakan induk kepada induk pring-boot-starter .

Kita boleh mula menggunakannya dalam projek kita dengan menambahkannya sebagai ibu bapa di pom.xml projek kita :

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

Kami sentiasa dapat memperoleh versi terkini spring-boot-starter-parent dari Maven Central.

3. Menguruskan Pergantungan

Sekali, kami telah menyatakan ibu bapa pemula dalam projek kami, kami dapat menarik sebarang kebergantungan dari ibu bapa dengan hanya menyatakannya pada tag tanggungan kami .

Juga, kita tidak perlu menentukan versi dependensi, Maven akan memuat turun fail jar berdasarkan versi yang ditentukan untuk induk pemula dalam tag induk.

Contohnya, jika kita membuat projek web, kita dapat menambahkan web spring-boot-starter-web secara langsung, dan kita tidak perlu menentukan versi:

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

4. Tag Pengurusan Ketergantungan

Untuk menguruskan versi kebergantungan yang berbeza yang disediakan oleh induk pemula, kami dapat menyatakan pergantungan dan versinya secara eksplisit di bahagian dependencyManagement :

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

5. Hartanah

Untuk mengubah nilai mana-mana harta yang ditentukan dalam induk pemula, kami dapat menyatakannya semula di bahagian harta tanah kami.

The bunga-boot-starter ibu atau bapa melalui induknya spring-boot-kebergantungan kegunaan hartanah untuk mengkonfigurasi semua kebergantungan versi, versi Java, dan Maven plugin versi.

Oleh itu, memudahkan kita untuk mengawal konfigurasi ini dengan hanya menukar sifat yang sesuai.

Sekiranya kita ingin mengubah versi kebergantungan yang ingin kita tarik dari induk pemula, kita boleh menambahkan kebergantungan dalam tag pergantungan dan mengkonfigurasi hartanya secara langsung:

 4.11 

6. Hilang Harta Yang Lain

Kami juga dapat menggunakan sifat untuk konfigurasi lain seperti menguruskan versi plugin atau bahkan untuk beberapa konfigurasi dasar seperti menguruskan versi Java, pengekodan sumber.

Kami hanya perlu menyatakan semula harta tanah dengan nilai baru.

Sebagai contoh, untuk menukar versi Java, kita dapat menunjukkannya di properti java.version :

 1.8 

7. Spring Boot Project Tanpa Permulaan Ibu Bapa

Kadang-kadang kita mempunyai ibu bapa Maven tersuai. Atau, kami mungkin memilih untuk menyatakan semua konfigurasi Maven kami secara manual.

Sekiranya demikian, kami mungkin memilih untuk tidak menggunakan projek spring-boot-starter-induk . Tetapi, kita masih boleh mendapat keuntungan dari pohon ketergantungannya dengan menambahkan dependensi spring-boot-dependency dalam projek kita dalam skop import .

Mari kita jelaskan ini dengan contoh mudah di mana kita mahu menggunakan ibu bapa lain selain ibu bapa pemula:

 com.baeldung spring-boot-parent 1.0.0-SNAPSHOT 

Di sini, kami telah menggunakan modul induk- projek yang berbeza sebagai kebergantungan ibu bapa kami.

Sekarang, dalam kes ini, kita masih boleh mendapatkan faedah pengurusan ketergantungan yang sama dengan menambahkannya dalam skop import dan jenis pom :

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

Lebih jauh lagi, kita dapat memanfaatkan kebergantungan dengan hanya menyatakannya dalam ketergantungan seperti yang kita lakukan dalam contoh sebelumnya. Tidak diperlukan nombor versi untuk kebergantungan tersebut.

8. Ringkasan

Dalam tutorial ini, kami telah memberikan gambaran keseluruhan mengenai spring-boot-starter-parent dan faedah menambahkannya sebagai ibu bapa dalam mana-mana projek anak.

Seterusnya, kami belajar bagaimana menguruskan pergantungan. Kita boleh mengatasi kebergantungan dalam dependencyManagement atau melalui sifat.

Kod sumber untuk potongan yang digunakan dalam tutorial ini tersedia di Github, satu menggunakan induk pemula dan yang lain adalah induk khusus.