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.