Proyek Multi-Modul Dengan Spring Boot

1. Ikhtisar

Dalam tutorial singkat ini, kami akan menunjukkan cara membuat proyek multi-modul dengan Spring Boot .

Pertama, kita akan membuat jar perpustakaan yang bukan aplikasi itu sendiri, lalu kita akan membuat aplikasi yang menggunakan perpustakaan kita.

Untuk pengantar Spring Boot , silakan lihat artikel ini.

2. Penyiapan

Untuk menyiapkan proyek multi-modul kami, mari buat modul sederhana menggunakan pengemasan pom untuk menggabungkan pustaka dan modul aplikasi kami dalam konfigurasi Maven:

com.baeldung parent-multi-module pom

Kami akan membuat dua direktori di dalam proyek kami yang akan membagi modul aplikasi dari modul jar perpustakaan .

Mari deklarasikan modul kita di pom.xml :

 library application 

3. Toples Perpustakaan

Untuk modul perpustakaan kami , kami akan menggunakan kemasan jar :

com.baledung.example library jar

Karena kami ingin memanfaatkan manajemen ketergantungan Spring Boot , kami akan menggunakan spring-boot-starter-parent sebagai proyek induk, berhati-hati untuk menyetelke nilai kosong sehingga Maven akan menyelesaikan pom.xml induk dari repositori:

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

Perhatikan bahwa jika kita memiliki proyek induk kita sendiri, kita dapat mengimpor manajemen ketergantungan sebagai Bill of Material (BOM) dibagian dari pom.xml :

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

Akhirnya, dependensi awal akan menjadi sangat sederhana:

  org.springframework.boot spring-boot-starter  

Dalam modul ini, plugin Spring Boot tidak diperlukan karena fungsi utamanya adalah untuk membuat über-jar yang dapat dieksekusi , yang tidak kita inginkan dan tidak diperlukan untuk perpustakaan.

Setelah itu, kami siap untuk mengembangkan komponen layanan yang akan disediakan oleh perpustakaan :

@Service public class EvenOddService { public String isEvenOrOdd(Integer number) { return number % 2 == 0 ? "Even" : "Odd"; } }

4. Proyek Aplikasi

Seperti modul perpustakaan kami , modul aplikasi kami akan menggunakan kemasan jar :

com.baeldung.example application jar

Dan kami akan memanfaatkan manajemen ketergantungan Spring Boot seperti sebelumnya:

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

Selain ketergantungan starter Spring Boot, kami akan menyertakan toples perpustakaan kami yang dibuat di bagian sebelumnya :

  org.springframework.boot spring-boot-starter-web   com.baeldung.example library ${project.version}   

Terakhir, kami akan menggunakan plugin Spring Boot :

   org.springframework.boot spring-boot-maven-plugin   

Ada beberapa alasan praktis untuk menggunakan plugin yang disebutkan di atas di tempat ini.

Pertama, ini menyediakan resolver dependensi bawaan yang menetapkan nomor versi agar cocok dengan dependensi Spring Boot .

Kedua, ia mencari metode utama untuk ditandai sebagai kelas yang dapat dijalankan.

Akhirnya dan mungkin yang paling penting, ia mengumpulkan semua toples di classpath dan membangun satu über-jar yang dapat dijalankan .

Sekarang semuanya siap untuk menulis kelas aplikasi kita dan langsung ke intinya, mari kita implementasikan pengontrol di dalam kelas aplikasi utama :

@SpringBootApplication(scanBasePackages = "com.baeldung") @RestController public class EvenOddApplication { private EvenOddService evenOddService; // constructor @GetMapping("/validate/") public String isEvenOrOdd( @RequestParam("number") Integer number) { return evenOddService.isEvenOrOdd(number); } public static void main(String[] args) { SpringApplication.run(EvenOddApplication.class, args); } }

5. Kesimpulan

Dalam artikel ini, kita telah mempelajari cara mengimplementasikan dan mengonfigurasi proyek multi-modul dan membuat jar perpustakaan sendiri dengan Spring Boot .

Seperti biasa, contoh kode dapat ditemukan di GitHub.