Induk Pemula Spring Boot

1. Perkenalan

Dalam tutorial ini, kita akan belajar tentang spring-boot-starter-parent dan bagaimana kita bisa memanfaatkannya untuk manajemen ketergantungan yang lebih baik, konfigurasi default untuk plugin, dan dengan cepat membangun aplikasi Spring Boot kita .

Kami juga akan melihat bagaimana kami dapat mengganti versi dependensi dan properti yang ada yang disediakan oleh starter-parent.

2. Induk Pemula Spring Boot

Proyek spring-boot-starter-parent adalah proyek permulaan khusus - yang menyediakan konfigurasi default untuk aplikasi kita dan pohon ketergantungan lengkap untuk membangun proyek Spring Boot dengan cepat .

Ini juga menyediakan konfigurasi default untuk plugin Maven seperti maven-failafe-plugin , maven-jar-plugin , maven-surefire-plugin , maven-war-plugin .

Selain itu, ia juga mewarisi manajemen ketergantungan dari spring-boot-dependencies yang merupakan induk dari s pring-boot-starter-parent .

Kita bisa mulai menggunakannya dalam proyek kita dengan menambahkan ini sebagai induk di pom.xml proyek kita :

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

Kami selalu bisa mendapatkan versi terbaru spring-boot-starter-parent dari Maven Central.

3. Mengelola Dependensi

Sekali, kami telah mendeklarasikan induk awal dalam proyek kami, kami dapat menarik ketergantungan apa pun dari induk hanya dengan mendeklarasikannya di tag dependensi kami .

Selain itu, kami tidak perlu menentukan versi dependensi, Maven akan mendownload file jar berdasarkan versi yang ditentukan untuk induk awal di tag induk.

Misalnya, jika kita sedang membangun proyek web, kita dapat menambahkan spring-boot-starter-web secara langsung, dan kita tidak perlu menentukan versinya:

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

4. Tag Manajemen Ketergantungan

Untuk mengelola versi berbeda dari ketergantungan yang disediakan oleh induk awal, kita dapat mendeklarasikan ketergantungan dan versinya secara eksplisit di bagian dependencyManagement :

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

5. Properti

Untuk mengubah nilai properti apa pun yang ditentukan di induk awal, kita dapat mendeklarasikan ulang di bagian properti kita.

The semi-boot-starter-orang tua melalui induknya semi-boot-dependensi sifat kegunaan untuk mengkonfigurasi semua dependensi versi, versi Jawa, dan Maven Plugin versi.

Oleh karena itu, memudahkan kami untuk mengontrol konfigurasi ini hanya dengan mengubah properti terkait.

Jika kita ingin mengubah versi dependensi apa pun yang ingin kita tarik dari induk awal, kita dapat menambahkan dependensi di tag dependensi dan langsung mengonfigurasi propertinya:

 4.11 

6. Penggantian Properti Lainnya

Kami juga dapat menggunakan properti untuk konfigurasi lain seperti mengelola versi plugin atau bahkan beberapa konfigurasi dasar seperti mengelola versi Java, pengkodean sumber.

Kita hanya perlu mendeklarasikan ulang properti dengan nilai baru.

Misalnya, untuk mengubah versi Java kita dapat menunjukkannya di properti java.version :

 1.8 

7. Proyek Spring Boot Tanpa Induk Starter

Terkadang kami memiliki orang tua Maven adat. Atau, kami mungkin lebih suka mendeklarasikan semua konfigurasi Maven kami secara manual.

Dalam hal ini, kami dapat memilih untuk tidak menggunakan proyek spring-boot-starter-parent . Tapi, kita masih bisa mendapatkan keuntungan dari pohon ketergantungannya dengan menambahkan ketergantungan spring-boot-dependencies dalam proyek kita dalam lingkup impor .

Mari kita jelaskan ini dengan contoh sederhana di mana kita ingin menggunakan orang tua lain selain induk awal:

 com.baeldung spring-boot-parent 1.0.0-SNAPSHOT 

Di sini, kami telah menggunakan modul induk proyek yang berbeda sebagai ketergantungan induk kami.

Sekarang, dalam kasus ini, kita masih bisa mendapatkan manfaat yang sama dari manajemen ketergantungan dengan menambahkannya di ruang lingkup impor dan jenis pom :

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

Selanjutnya, kita dapat menarik dependensi apa pun hanya dengan mendeklarasikannya dalam dependensi seperti yang kita lakukan pada contoh sebelumnya. Tidak ada nomor versi yang diperlukan untuk dependensi tersebut.

8. Ringkasan

Dalam tutorial ini, kami telah memberikan gambaran umum tentang spring-boot-starter-parent dan manfaat menambahkannya sebagai induk dalam proyek anak apa pun.

Selanjutnya, kita belajar bagaimana mengelola dependensi. Kita bisa mengganti dependensi di dependencyManagement atau melalui properti.

Kode sumber untuk potongan yang digunakan dalam tutorial ini tersedia di Github, satu menggunakan induk awal dan yang lainnya sebagai induk khusus.