Projek Pelbagai Modul Dengan Spring Boot

1. Gambaran keseluruhan

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

Pertama, kita akan membina balang perpustakaan yang bukan aplikasi itu sendiri, dan kemudian kita akan membina aplikasi yang menggunakan perpustakaan kita.

Untuk pengenalan Spring Boot , rujuk artikel ini.

2. Persediaan

Untuk menyiapkan projek berbilang modul kami, mari buat modul mudah menggunakan pom packaging untuk mengumpulkan modul perpustakaan dan aplikasi kami dalam konfigurasi Maven kami:

com.baeldung parent-multi-module pom

Kami akan membuat dua direktori di dalam projek kami yang akan membahagikan modul aplikasi dari modul jar perpustakaan .

Mari nyatakan modul kami di pom.xml :

 library application 

3. Jar Perpustakaan

Untuk modul perpustakaan kami , kami akan menggunakan pembungkusan balang :

com.baledung.example library jar

Oleh kerana kami ingin memanfaatkan pengurusan pergantungan Spring Boot , kami akan menggunakan spring-boot-starter-parent sebagai projek induk, dengan berhati-hati untuk menetapkanke nilai kosong sehingga Maven akan menyelesaikan pom.xml induk dari repositori:

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

Perhatikan bahawa jika kita mempunyai projek induk kita sendiri, kita boleh mengimport pengurusan kebergantungan sebagai Bil Bahan (BOM) dibahagian pom.xml :

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

Akhirnya, kebergantungan awal akan menjadi sangat mudah:

  org.springframework.boot spring-boot-starter  

Dalam modul ini, plugin Spring Boot tidak diperlukan kerana fungsi utamanya adalah membuat über-jar yang boleh dilaksanakan , yang tidak kita mahukan dan tidak memerlukan perpustakaan.

Selepas itu, kami bersedia untuk mengembangkan komponen perkhidmatan yang akan disediakan oleh perpustakaan :

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

4. Projek Permohonan

Seperti modul perpustakaan kami , modul aplikasi kami akan menggunakan pembungkusan balang :

com.baeldung.example application jar

Dan kami akan memanfaatkan pengurusan pergantungan Spring Boot seperti sebelumnya:

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

Sebagai tambahan kepada pergantungan starter Spring Boot, kami akan memasukkan balang perpustakaan kami yang dibuat di bahagian sebelumnya :

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

Akhirnya, kami akan menggunakan plugin Spring Boot :

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

Terdapat beberapa sebab yang sesuai untuk menggunakan pemalam yang disebutkan di atas di tempat ini.

Pertama, ia menyediakan penyelesai kebergantungan terbina dalam yang menetapkan nombor versi agar sesuai dengan pergantungan Spring Boot .

Kedua, ia mencari kaedah utama untuk dibenderakan sebagai kelas yang dapat dijalankan.

Akhirnya dan mungkin yang paling penting, ia mengumpulkan semua balang di lorong kelas dan membina über-jar tunggal yang boleh dijalankan .

Sekarang semuanya sudah siap untuk menulis kelas aplikasi kami dan terus menuju ke titik, mari kita laksanakan pengawal 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, kami telah meneroka cara melaksanakan dan mengkonfigurasi projek berbilang modul dan membina balang perpustakaan sendiri dengan Spring Boot .

Seperti biasa, sampel kod boleh didapati di GitHub.