Saya baru saja mulai belajar Spring. Pada langkah saya berikutnya, saya ingin mengembangkan aplikasi web yang lebih besar.
Sekarang saya bertanya-tanya apakah saya harus mulai dengan Spring Boot atau Spring MVC. Saya sudah membaca beberapa hal, tetapi membingungkan karena keduanya terlihat serupa.
Jadi apa perbedaan antara keduanya?
Spring Boot
kemudian memenuhi fungsionalitas web denganSpring MVC
?Spring MVC dan Spring Boot dijelaskan dengan baik dalam jawaban lain, dan tanpa mengulanginya, izinkan saya melompat langsung ke spesifik. Spring Boot dan Spring MVC tidak dapat dibandingkan atau saling eksklusif. Jika Anda ingin melakukan pengembangan aplikasi web menggunakan Spring, Anda tetap akan menggunakan Spring MVC . Pertanyaan Anda kemudian menjadi apakah akan menggunakan Spring Boot atau tidak.
Untuk mengembangkan aplikasi Spring yang umum atau mulai mempelajari Spring, saya pikir menggunakan Spring Boot akan direkomendasikan. Ini sangat memudahkan pekerjaan, siap produksi dan cepat diadopsi secara luas.
Saya terkadang melihat pemula mengajukan pertanyaan ini karena di STS (Spring Tool Suite) ada dua penyihir: satu untuk membuat proyek Spring Boot, dan satu lagi untuk membuat proyek Spring MVC. Jadi, rekomendasi saya adalah membuat proyek Boot Musim Semi dan memilih Web sebagai modul di dalamnya.
sumber
Ini adalah representasi bergambar dari menampilkan Perbedaan.
Silakan merujuk ke tautan ini untuk Info lebih lanjut:
Src dari Gambar ini
sumber
Secara sederhana dapat dinyatakan sebagai:
Spring boot = Spring MVC + Auto Configuration(Don't need to write spring.xml file for configurations) + Server(You can have embedded Tomcat, Netty, Jetty server).
Dan Spring Boot adalah kerangka kerja yang Opinionated, sehingga pengembangannya mempertimbangkan pengembangan cepat, lebih sedikit waktu untuk konfigurasi dan memiliki dukungan komunitas yang sangat baik.
sumber
Spring MVC
adalah sub proyek dari Kerangka Kerja Musim Semi, yang menargetkan desain dan pengembangan aplikasi yang menggunakan pola MVC (Model-View-Controller). Spring MVC dirancang untuk berintegrasi sepenuhnya dan sepenuhnya dengan Spring Framework dan secara transitif, sebagian besar sub-proyek lainnya.Spring Boot
dapat dipahami dengan baik dari artikel ini oleh tim Spring Engineering. Itu seharusnya dianggap, yaitu sangat menganjurkan gaya perkembangan cepat tertentu, tetapi dirancang cukup baik untuk mengakomodasi pengecualian terhadap aturan, jika Anda mau. Singkatnya, ini adalah konvensi tentang metodologi konfigurasi yang bersedia memahami kebutuhan Anda untuk melanggar konvensi ketika diperlukan.sumber
Inilah beberapa poin utama yang membedakan Spring, Spring MVC dan Spring Boot:
Musim semi:
Spring MVC
Boot Musim Semi:
(Evolusi seperti: Spring -> Spring MVC -> Spring Boot, Jadi versi yang lebih baru memiliki kompatibilitas fitur versi lama.) Catatan: Tidak mengandung semua poin.
sumber
SpringBoot sebenarnya sudah dikonfigurasi sebelumnya yang mengurangi konfigurasi boiler dan menyediakan cara termudah atau cepat untuk memulai aplikasi Anda.
SpringBoot mengambil sakit kepala konfigurasi dari pengembang untuk dirinya sendiri daripada Spring.
Secara implisit SpringBoot didasarkan pada konsep kerangka kerja Spring seperti kacang, pengontrol, layanan, jpa dll.
Anda dapat mengatakan bahwa SpringBoot adalah pembungkus Spring.
Di SpringBoot oleh port default Server adalah 8080 tetapi jika Anda ingin mengubah kemudian pergi ke application.properties Anda dan tulis
server.port = 8084
sumber
Menggunakan spring boot Anda tidak perlu membangun konfigurasi. Ini akan dilakukan secara otomatis ketika Anda membuat proyek.
Jika Anda menggunakan pegas MVC, Anda perlu membuat konfigurasi sendiri. Ini lebih rumit, tetapi sangat penting.
sumber
Tanpa mengulangi hal yang sama dalam jawaban sebelumnya,
saya menulis jawaban ini untuk orang-orang yang ingin memulai proyek baru dan tidak tahu mana kerangka kerja terbaik untuk memulai proyek Anda. Jika Anda seorang pemula untuk kerangka kerja ini hal terbaik yang saya sukai adalah Gunakan spring boot (dengan STS / Spring Tool Suite ). Karena itu banyak membantu. Ini melakukan semua konfigurasi sendiri. Selain itu, gunakan Hibernate dengan spring-boot sebagai kerangka kerja basis data. Dengan kombinasi ini, aplikasi Anda akan menjadi yang terbaik. Saya bisa menjamin itu dengan pengalaman saya.
Bahkan ini adalah salah satu kerangka kerja terbaik untuk JEE (saat ini) ini akan mati dalam waktu dekat. Ada alternatif ringan yang muncul. Jadi terus perbarui dengan pengalaman Anda jangan menempel satu kerangka kerja tertentu. Yang terbaik adalah fasih dalam konsep, bukan dalam kerangka kerja.
sumber
Pikirkan seperti ini:
Spring MVC adalah kerangka kerja berbasis web untuk mengimplementasikan arsitektur MVC.
Spring Boot adalah alat yang berorientasi pada programmer. Programmer harus fokus pada pemrograman dan alat harus fokus pada konfigurasi. Jadi kita tidak perlu membuang waktu untuk mengonfigurasi sekelompok xml untuk membuat 'Hello world' yang sederhana.
sumber
Di bawah ini adalah perbedaan antara boot Spring dan Spring MVC.
sumber
Spring MVC dan Spring Boot ada untuk tujuan yang berbeda. Jadi, tidak bijaksana membandingkan satu sama lain sebagai pesaing.
Apa itu Spring Boot?
Spring Boot adalah kerangka kerja untuk mengemas aplikasi pegas dengan default yang masuk akal. Apa artinya ini?. Anda sedang mengembangkan aplikasi web menggunakan Spring MVC, Spring Data, Hibernate dan Tomcat. Bagaimana Anda mengemas dan menyebarkan aplikasi ini ke server web Anda. Sampai sekarang, kita harus menulis konfigurasi, file XML, dll secara manual untuk digunakan ke server web.
Spring Boot melakukan itu untuk Anda dengan konfigurasi Zero XML di proyek Anda. Percayalah, Anda tidak perlu deskriptor penggunaan, server web, dll. Spring Boot adalah kerangka kerja magis yang menggabungkan semua dependensi untuk Anda. Akhirnya aplikasi web Anda akan menjadi file JAR mandiri dengan server yang diembed.
Jika Anda masih bingung bagaimana cara kerjanya, silakan baca tentang pengembangan kerangka kerja microservice menggunakan spring boot.
Apa itu Spring MVC?
Ini adalah kerangka kerja aplikasi web tradisional yang membantu Anda membangun aplikasi web. Ini mirip dengan kerangka kerja Struts.
Spring MVC adalah framework Java yang digunakan untuk membangun aplikasi web. Ini mengikuti pola desain Model-View-Controller. Ini mengimplementasikan semua fitur dasar kerangka pegas inti seperti Pembalikan Kontrol, Injeksi Ketergantungan.
MVC Musim Semi memberikan solusi yang elegan untuk menggunakan MVC dalam kerangka kerja pegas dengan bantuan DispatcherServlet. Di sini, DispatcherServlet adalah kelas yang menerima permintaan masuk dan memetakannya ke sumber daya yang tepat seperti pengontrol, model, dan tampilan.
Saya harap ini membantu Anda memahami perbedaannya.
sumber