Apa perbedaan antara Spring, Struts, Hibernate, JavaServer Faces, Tapestry?

199

Bolehkah saya tahu apa perbedaan antara: -

  1. Musim semi
  2. Struts
  3. Struts 2
  4. Hibernasi
  5. Wajah JavaServer
  6. Halaman JavaServer
  7. Permadani

Apakah teknologi / kerangka kerja ini saling melengkapi satu sama lain? Atau mereka adalah alternatif satu sama lain (setelah saya menggunakan salah satu dari mereka, maka saya tidak perlu menggunakan yang lain)?

Terima kasih.

CMW
sumber

Jawaban:

267
  1. Spring adalah wadah IoC (setidaknya inti dari Spring) dan digunakan untuk mengirim kawat menggunakan injeksi ketergantungan. Spring menyediakan layanan tambahan seperti manajemen transaksi dan integrasi berbagai teknologi lainnya.
  2. Struts adalah kerangka presentasi berbasis tindakan (tetapi tidak menggunakannya untuk pengembangan baru).
  3. Struts 2 adalah kerangka kerja presentasi berbasis tindakan , versi 2 di atas (dibuat dari gabungan WebWork dengan Struts).
  4. Hibernate adalah alat pemetaan objek-relasional, sebuah kerangka kerja kegigihan .
  5. JavaServer Faces adalah kerangka kerja presentasi berbasis komponen .
  6. JavaServer Pages adalah teknologi tampilan yang digunakan oleh semua kerangka presentasi yang disebutkan untuk tampilan.
  7. Permadani adalah kerangka presentasi berbasis komponen lain .

Jadi, untuk meringkas:

  • Struts 2, JSF, Tapestry (dan Wicket, Spring MVC, Stripes) adalah kerangka presentasi . Jika Anda menggunakan salah satunya, Anda tidak menggunakan yang lain.
  • Hibernate adalah framework persistence dan digunakan untuk bertahan objek Java dalam database relasional.
  • Spring dapat digunakan untuk menghubungkan semua ini bersama-sama dan untuk memberikan manajemen transaksi deklaratif.

Saya tidak ingin membuat hal-hal lebih membingungkan tetapi perhatikan bahwa Java EE 6 menyediakan setara modern, standar dan sangat bagus dari kerangka kerja di atas: JSF 2.0 dan Facelet untuk presentasi, JPA 2.0 untuk kegigihan, Ketergantungan Injeksi, dll. Untuk pengembangan baru, ini adalah IMO pilihan yang serius , Java EE 6 adalah tumpukan yang bagus .

Lihat juga

Thivent Pascal
sumber
2
Saya ingin menunjukkan bahwa dalam konteks perbandingan semacam ini beberapa orang juga menggunakan kata Spring untuk merujuk pada kerangka kerja MVC-nya sendiri (yang jauh lebih bagus daripada Struts IMO).
MetroidFan2002
Bagus menjelaskan, tetapi masih terlalu teknis. Saya akan menyarankan Anda untuk menjelaskannya dalam istilah awam. Bagaimanapun link pada akhirnya melakukan itu.
noob
Jawabannya memang merupakan titik awal yang hebat, tetapi dapat ditingkatkan dengan menjelaskan konsep-konsep utama yang diperkenalkan (kerangka kerja berbasis permintaan vs komponen, wadah IoC, kerangka kerja Presentasi vs kegigihan ...) Seperti yang ada sekarang, ia membutuhkan banyak tambahan googeling, tapi itu masih jawaban yang bagus, dan titik awal yang bagus! Suara positif.
Wouter
19

Umumnya...

Hibernate digunakan untuk menangani operasi basis data. Ada serangkaian fungsi utilitas basis data yang kaya, yang mengurangi jumlah baris kode Anda. Terutama Anda harus membaca @Annotation dari hibernate. Ini adalah kerangka kerja ORM dan lapisan ketekunan.

Spring menyediakan serangkaian mekanisme kerja berbasis Injeksi. Saat ini, Spring sudah terkenal. Anda juga harus membaca tentang Spring AOP. Ada jembatan antara Struts dan Hibernate. Terutama Spring menyediakan utilitas semacam ini.

Struts2 menyediakan pemrograman berbasis aksi. Ada satu set tag Struts yang kaya. Struts membuktikan pemrograman berbasis tindakan sehingga Anda harus mempertahankan semua kontrol yang relevan dari pandangan Anda.

Selain itu, Tapestry adalah kerangka kerja yang berbeda untuk Java. Di mana Anda harus menangani saja .tml(file template). Anda harus membuat dua file utama untuk kelas apa pun. Salah satunya adalah kelas JAVA dan yang lainnya adalah template-nya. Kedua nama itu sama. Permadani secara otomatis memanggil kelas terkait.

Pradip Bhatt
sumber
7

Anda dapat melihat ikhtisar dan peringkat untuk diri Anda di sini . Hibernate adalah ORM, jadi Anda bisa menggunakan struts + Hiberante atau spring + hibernate untuk membangun aplikasi web. Kerangka kerja web yang berbeda dan banyak yang merupakan alternatif satu sama lain.

Srikar Doddi
sumber
4

Spring adalah kerangka kerja aplikasi yang berhubungan dengan IOC (Inversion of Control).

Struts 2 adalah kerangka kerja MVC aplikasi web yang berhubungan dengan tindakan.

Hibernate adalah ORM (Object-Relational Mapping) yang berhubungan dengan data persisten.

Nishat Lakhani
sumber
3

Pendeknya,

Struts adalah untuk pengembangan situs web Front-end

Hibernate adalah untuk pengembangan situs web back-end

Spring adalah untuk pengembangan penuh situs web di mana Spring MVC (Model-View-Controller) untuk Front-end. ORM, JDBC untuk Akses / Integrasi Data (backend). dll

Tushar Jumani
sumber
2

Dalam hibernasi Anda tidak perlu repot tentang cara membuat tabel dalam SQL dan Anda tidak perlu mengingat koneksi, pernyataan yang disiapkan seperti data tersebut tetap ada dalam database. Jadi, pada dasarnya itu membuat hidup seorang pengembang mudah.

dipak
sumber
2

Pegas adalah kerangka kerja sumber terbuka dan ringan yang dibuat oleh Rod Johnson pada tahun 2003. Pegas adalah kerangka kerja yang lengkap dan modular, kerangka kerja Pegas dapat digunakan untuk semua implementasi lapisan untuk aplikasi waktu nyata atau pegas dapat digunakan untuk pengembangan lapisan tertentu dari aplikasi waktu nyata.

Struts adalah kerangka kerja aplikasi web sumber terbuka untuk mengembangkan aplikasi web Java EE. Ini menggunakan dan memperluas Java Servlet API untuk mendorong pengembang untuk mengadopsi arsitektur model-view-controller (MVC). Awalnya dibuat oleh Craig McClanahan dan disumbangkan ke Yayasan Apache pada Mei 2000.

Di bawah ini adalah tabel perbandingan perbedaan antara Spring dan Strut Framework

masukkan deskripsi gambar di sini

VyTcdc
sumber
0

Halaman dan komponen permadani adalah POJO sederhana (Benda Jawa Kuno) yang terdiri dari getter dan setter untuk akses mudah ke fitur bahasa Jawa.

Nishat Lakhani
sumber
0

Perbedaan antara Spring , Struts dan Hibernate adalah sebagai berikut:

  1. Spring adalah Framework Aplikasi tetapi Struts dan hibernate tidak.
  2. Spring dan Hibernate berbobot Ringan tetapi Struts 2 tidak.
  3. Spring dan Hibernate memiliki arsitektur berlapis tetapi Struts 2 tidak.
  4. Spring dan Hibernate mendukung kopling longgar tetapi Struts 2 tidak.
  5. Struts 2 dan Hibernate memiliki perpustakaan tag tetapi Spring tidak.
  6. Spring dan Hibernate memiliki integrasi yang mudah dengan teknologi ORM tetapi Struts tidak.
  7. Struts 2 memiliki integrasi yang mudah dengan teknologi sisi klien tetapi Spring dan Hibernate tidak memilikinya.
Raman Gupta
sumber