Apa Itu Spring Framework? - Jalan Menuju Pembangunan yang Efisien



Blog tentang Apa Spring Framework ini berbicara tentang Java Framework - Spring yang banyak digunakan. Ini juga menjelaskan mengapa dan bagaimana menggunakan Spring Framework dengan contoh-contoh.

Dalam dunia yang serba cepat saat ini, kita membutuhkan segalanya dengan cepat. Kami tidak ingin terlalu lama terlibat dalam satu pekerjaan, biarlah itu seperti bepergian, berbelanja, belajar, atau bekerja. Dalam hal pengkodean, kami ingin aplikasi kami dikembangkan dalam periode waktu tersingkat tetapi memberikan efisiensi penuh. Kita mungkin sedang terburu-buru, tetapi tetap saja, kita tidak dapat berkompromi dengan kualitas kita atau kita ingin terlalu banyak berusaha untuk itu. Jadi apa solusinya? Kerangka bekerja paling baik dalam situasi ini. Ada berbagai Framework yang tersedia di pasaran, di antaranya hanya sedikit yang digunakan seperti: Spring, Hibernate, Struts, dll. Melalui blog ini, mari kita cari tahu apa itu Spring Framework dan mengapa begitu populer di pasar!

Sebelum memulai, mari kita lihat topik yang akan saya bahas di blog ini:





Kerangka Java

Mengapa kita harus menggunakan Frameworks?Ayopahami dengan teman kita, Coddy .

Coddy dalam masalah - Apa Kerangka Musim Semi - Edureka!



Coddy diberi tugas untuk mengembangkan aplikasi, tetapi waktu yang diberikan tidak cukup untuk menyelesaikannya. Dia harus menulis banyak baris kode (LOC) sendiri. Ini sangat menyita waktu dan melelahkan. Dia bingung apa yang harus dia lakukan! Darimana dia harus mulai!

Coddy mulai memikirkan solusi untuk masalahnya. Dia membutuhkan sesuatu yang cepat dan efisien menghemat waktu dan tenaga, seperti sesuatu yang sudah jadi.



Tiba-tiba, ide menggunakan Frameworks menyerangnya. Kerangka cepat, efisien, dan ringan. Mereka adalah kumpulan besar kode yang telah ditentukan sebelumnya yang dapat kita tambahkan dengan mudah ke kode kita sendiri untuk memecahkan masalah tertentu.

Dia membuat kode menggunakan Framework. Anehnya kode tersebut dengan mudah dipasang dengan kerangka kerja.

Coddy sekarang, dapat membuat kode lebih cepat dan menyelesaikan aplikasinya dalam jangka waktu yang ditentukan. Selain itu, ia bebas menulis ribuan baris kode non-fungsional.

fungsi daya di java untuk bilangan bulat

Setelah menerapkan aplikasi yang dikembangkan menggunakan Framework, ia menemukan bahwa itu dijalankan dengan kecepatan yang jauh lebih tinggi dan throughputnya juga meningkat jika dibandingkan dengan aplikasi lain yang dikembangkan tanpa menggunakan Framework.

Jadi, sekarang mari kita mulai dengan Java Frameworks.

Bagaimana Kerangka Kerja Java Menjadi Ada?

Akhir tahun 1990-an aplikasi dikembangkan secara luas menggunakan standar JEE. Premis J2EE adalah multi-platform / multi-vendor, jika Anda dapat membuat kode sesuai dengan standar J2EE, Anda dapat menerapkan aplikasi Anda pada server aplikasi J2EE apa pun platformnya. Menjalankan kode Anda pada server aplikasi apa pun memberi Anda banyak manfaat seperti - manajemen transaksi, perpesanan, pengiriman surat, antarmuka direktori, dll. Tetapi karena tidak ada yang mudah di dunia ini, bekerja dengan J2EE juga mengalami beberapa kesulitan.

  • SangatKompleks : Enterprise Java Bean dikembangkan untuk mengurangi kerumitan dalam aplikasi J2EE. Tapi itu tidak berhasil dalam tujuannya dalam implementasi. Alasan di baliknya adalah bahwa, saat menulis komponen, diperlukan untuk menulis satu set file XML, antarmuka rumah, antarmuka jarak jauh / lokal, dll.
  • Masalah 'mencari': Kapan pun sebuah komponen bergantung pada komponen lain, ia harus mencari komponen yang bergantung padanya itu sendiri. 'Pencarian' komponen ini hanya terjadi dengan nama, jadi nama dependensi di-hardcode dalam komponen.
  • Berat berat: SebagaiSemua fitur seperti pengelompokan, remoting, dll. telah didukung, Anda harus mengkonfigurasinya, terlepas dari kenyataan bahwa Anda membutuhkannya atau tidak. Ini akan membuat aplikasi Anda membengkak.

Ini adalah bagaimana Java Frameworks muncul. Kerangka kerja Java tidak lain adalah kumpulan besar kode yang telah ditentukan sebelumnya yang dapat Anda terapkan ke kode Anda sendiri untuk menyelesaikan masalah Anda di domain tertentu. Anda bisa menggunakan framework dengan memanggil metodenya, inheritance, dengan menyediakan 'callback', listener, atau implementasi lain dari Pengamat pola.

Mari kita pahami melalui representasi gambar:

Tapi bagaimana tepatnya mereka mengurangi pekerjaan kita dan membuat kode kita efisien? Untuk memahaminya melalui yang berikut ini keuntungandankerugiankerangka kerja ini. Mari kita mulai dengan keuntungan .

Efisiensi:

Tugas yang biasanya membutuhkan waktu berjam-jam dan ratusan baris kode untuk dibuat, kini dapat diselesaikan dalam beberapa menit dengan fungsi yang telah dibuat sebelumnya. Pengembangan menjadi jauh lebih mudah, jadi jika jauh lebih mudah, itu jauh lebih cepat, dan selanjutnya lebih efektif.

Keamanan:

Kerangka kerja yang banyak digunakan umumnya akan berukuran besarkeamananaplikasi. Manfaat besarnya adalahlingkungandi balik kerangka itu, di mana pengguna biasanya menjadi penguji yang tahan lama. Jika Anda menemukan kerentanan atau celah keamanan, Anda dapat membuka situs web kerangka kerja dan memberi tahu mereka agar dapat diperbaiki.

Biaya:

Struktur paling populer bersifat gratis sehingga membantu pengembang membuat kode lebih cepat. Jika pengkodean dilakukan lebih cepat, biaya untuk klien akhir pasti akan lebih kecil dalam setiap aspek, baik waktu maupun tenaga. Apalagi biaya perawatannya juga rendah.

Dukung:

Seperti alat terdistribusi lainnya, kerangka kerja umumnya menyertakan dokumen, grup dukungan, atau forum online komunitas besar tempat Anda dapat memperoleh tanggapan cepat.

Meskipun memiliki semua keunggulan ini, Java Frameworks memiliki beberapa kerugian , Suka:


Batasan:

Perilaku dasar kerangka kerja tidak dapat diubah, yang menunjukkan bahwa saat Anda menggunakan kerangka kerja, Anda diharuskan untuk menghormati batasannya dan bekerja sebagaimana mestinya. Dengan demikian, Anda harus memastikan bahwa Anda memilih kerangka kerja yang sesuai dengan kebutuhan Anda.

Kode bersifat publik:

Karena kerangka kerja sudah tersedia untuk semua orang, it juga ditawarkan kepada orang-orang dengan niat buruk. Ini dapat dipelajari untuk mengetahui bagaimana segala sesuatunya bekerja dan untuk menemukan kekurangan yang dapat digunakan untuk melawan Anda.

Adat fitur:

Saat Anda menggunakan kerangka kerja, Anda hanya tahu sedikit tentang bahasa di baliknya karena fitur di dalamnya dibuat khusus.Saat Anda menggunakan fitur yang dibuat khusus, kemungkinan besar Anda harus menggunakannya sesuai dengan standar kerangka kerja yang mungkin berbeda dari konsep aslinya.

SekarangbahwaAnda tahu kelebihan dan kekurangannyakerangka kerja,pilih kerangka Anda sesuai dengan kebutuhan Anda. Ada berbagai macam kerangka kerja yang tersedia di pasaran. Diagram di bawah ini menunjukkan beberapa di antaranya:

Jadi, di blog ini kita akan fokus pada Spring Framework.

Apa Itu Spring Framework?

Di sini muncul pertanyaan “What Is Spring Framework”?

Spring Framework adalah framework pengembangan aplikasi ringan yang kuat yang digunakan untuk Enterprise Java (JEE).

Fitur inti dari Spring Framework dapat digunakan dalam mengembangkan aplikasi Java apa pun.Itu dapat digambarkan sebagaikerangka lengkap dan modular. Kerangka Musim Semi dapat digunakan untuk semua implementasi lapisan aplikasi waktu nyata. Ini juga dapat digunakan untuk pengembangan lapisan tertentu dari aplikasi waktu nyata tidak seperti Struts dan Hibernate, tetapi dengan Spring kita dapat mengembangkan semua lapisan.

Ini tentang apa itu Spring Framework, tapi bagaimana itu dikembangkan? Nah, ada sejarah menarik di baliknya. Mari kita lihat sejarah dan asal Spring Framework.

Pada bulan Oktober 2002, Rod Johnson , seorang spesialis komputer Australia, menulis sebuah buku berjudul Expert One-on-One J2EE Design and Development. Dalam buku ini ia mengusulkan solusi yang lebih sederhana berdasarkan kelas Java biasa (POJO) dan injeksi ketergantungan. Dia menulis lebih dari 30.000 baris kode infrastruktur yang mencakup sejumlah antarmuka dan kelas java yang dapat digunakan kembali untuk mengembangkan aplikasi. Sekitar Februari 2003, Rod, Juergen dan Yann mulai berkolaborasi dalam proyek Musim Semi. Nama 'Musim Semi' diberikan karena itu berarti awal yang baru setelah 'Musim Dingin' dari J2EE tradisional.

Berikut adalah garis waktu yang ditampilkan tentang rilis utama dalam sejarah Musim Semi:

Itu bernama Interface 21, sebagai referensi ke abad ke-21 dan dirilis di bawah lisensi Apache 2.0.
Ini adalah rilis tonggak pertama. Kerangka pegas berkembang pesat sejak rilis ini. Interface21 mendukung AspectJ secara paralel dengan Spring Framework.
Fitur Baru telah ditambahkan - konfigurasi XML yang dapat diperluas, dukungan untuk Java 5 dan bahasa dinamis, titik ekstensi IoC, dan peningkatan AOP.
Fitur baru telah ditambahkan - dukungan untuk Java 6 / JEE5, konfigurasi anotasi, deteksi otomatis komponen di classpath, dan bundel yang sesuai dengan OSGi.
Fitur baru telah ditambahkan - dukungan untuk sistem modul yang telah diatur ulang, SpEL, JavaConfig, database tertanam, dukungan REST dan dukungan untuk Java EE 6.
Proyek Spring Data Commons dirilis. Kemudian pada tahun 2012, Rod Johnson meninggalkan tim Spring.
Semua proyek Musim Semi bergeser ke Pivotal. Fitur baru telah ditambahkan - dukungan penuh untuk Java 8, websockets, dependensi library pihak ketiga yang lebih tinggi, DSL keren untuk definisi kacang.
Ini kompatibel dengan Java 6, 7 dan 8, dengan fokus pada penyempurnaan inti dan kemampuan web modern.
Itu akan menjadi generasi terakhirdalam persyaratan sistem Spring 4 umum. 4.3.8 adalah versi saat ini.

Mengapa Spring Framework?

Di bawah ini adalah bagan yang diberikan yang menunjukkan perbandingan antara Spring dan berbagai Framework lainnya.

Di bawah ini adalah grafik berdasarkan survei,per Mei 2016. Seperti yang Anda lihat dari grafik bahwa Spring Framework sangat populer di domainnya dan terus mempertahankan posisinya di tsejak 2014.

Alasan Spring Framepopularitas karya

Biasanya ada tiga alasan utama popularitas Spring Framework.

  1. Kesederhanaan
  2. Testablity
  3. Kopling Longgar

Mari kita bahas topik ini secara detail.

Kesederhanaan: Kerangka Pegas sederhana karena non-invasif karena menggunakan model POJO dan POJI.

  • POJO (Objek Jawa Lama Biasa): AKelas Java tidak digabungkan dengan teknologi apa pun atau disebut kerangka kerja apa pun ' POJO ' .
  • POJI (Plain Old Java Interfaces): Antarmuka Java yang tidak digabungkan dengan teknologi atau kerangka kerja apa pun disebut ' POJI ' .

Testablity : Untuk menulis Sbambuaplikasi, server tidak wajib. Namun untuk aplikasi struts dan EJB, Anda memerlukan server, jika ingin menguji aplikasinya. Mungkin perlu banyak perubahan dalam sumber dan untuk melihat perubahan itu, setiap kali Anda harus me-restart server. Ini menjadi membosankan dan memakan waktu. Dalam kasusSpring Framework, memiliki wadah sendiri untuk menjalankan aplikasikation.

Kopling longgar: Spring Framework digabungkan secara longgar karena memiliki konsep seperti Dependency Injection, AOP, dll. Fitur ini membantu mengurangi ketergantungan dan meningkatkan modularitas dalam kode. Mari kita pahami ini dengan sebuah contoh.

Di sini saya memiliki antarmuka Sepeda yang memiliki metode start (). Selanjutnya diimplementasikan oleh tiga kelas, yaitu: Yamaha, Honda dan Bajaj.

Antarmuka publik Sepeda {public void start ()}

Di sini pengendara kelas membuat objek dari kelas apa pun yang mengimplementasikan antarmuka Sepeda.

class Rider {Bike b public void setBike (Bike b) {this.b = b} void ride () {b.start ()}}

Sekarang container Spring Framework dapat memasukkan objek dari kelas apa pun yang mengimplementasikan antarmuka Bike, sesuai dengan kebutuhan. Beginilah cara kerja kopling longgar.

Arsitektur Kerangka Musim Semi

Seperti yang Anda lihat dari diagram di atas bahwa Spring memiliki arsitektur berlapis yang terdiri dari berbagai modul yang memiliki fungsi masing-masing. Modul-modul ini digeneralisasikan menjadi lapisan berikut:

  • Kontainer Inti
  • Akses / Integrasi Data
  • Web
  • AOP (Pemrograman Berorientasi Aspek)
  • Peralatan
  • Uji.

Anda mungkin bertanya-tanya, apa keuntungan Spring Framework dari memiliki arsitektur berlapis? Mari kita cari tahu melalui poin-poin berikut:

  • Kerangka Musim Semi secara efektif mengatur objek tingkat menengah Anda.
  • Terlepas dari lingkungan runtime, layanan manajemen konfigurasi Spring Framework dapat digunakan di lapisan arsitektur apa pun.
  • Spring Framework menangani konfigurasi secara konsisten di seluruh aplikasi. Ini menghilangkan kebutuhan untuk menggunakan berbagai format file properti khusus.
  • Spring Framework dirancang sedemikian rupa sehingga aplikasi yang dibangun dengannya akan bergantung pada sesedikit mungkin API-nya.
  • Karena penggunaan antarmuka,Spring Framework memfasilitasi praktik pemrograman yang baik.

Untuk sepenuhnya memahami apa itu Spring Framework, mari kita lihat satu Aplikasi Spring Framework sederhana. Ikuti lima langkah sederhana:

Langkah I: Membuat kelas Bean

paket org.edureka.firstSpring kelas publik StudentBean {Nama string public String getName () {nama kembalian} public void setName (Nama string) {this.name = nama} public void displayInfo () {System.out.println ('Halo: '+ nama)}}

Langkah II: Buat file XML

 

Langkah III: Buat kelas utama

paket org.edureka.firstSpring impor org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext kelas publik StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathXmlApplicationContext ('StudentConfig.x' ) StudentBean factory = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

Langkah IV: Muat file jar

Muat file jar berikut.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • spring-beans-4.2.2.RELEASE.jar
  • spring-context-4.2.2.RELEASE.jar
  • spring-core-4.2.2.RELEASE.jar
  • spring-expression-4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • spring-webmvc-4.2.2.RELEASE.jar

CATATAN: Jika Anda membutuhkan file jar, beri komentar di bawah.

Langkah V: Jalankan program

Jalankan program di server Anda untuk menguji aplikasi.

Harap saya bisa menjelaskan dengan jelas, apa itu Spring Framework, bagaimana tepatnya cara kerjanya dan untuk apa itu digunakan. Anda juga merujuk ke video tentang 'What Is Spring Framework', di mana instruktur menjelaskan topik yang dibahas dalam blog ini bersama dengan demonstrasi praktis.

Apa Itu Kerangka Musim Semi Di Jawa | Tutorial Kerangka Musim Semi | Edureka

Jika Anda tertarik untuk mempelajari lebih lanjut tentang Spring Framework, ikuti terus rangkaian blog saya ini karena saya akan datang dengan blog lain di yang akan berbicara tentang konsep yang lebih maju di Spring.

Jika Anda ingin mempelajari Spring dan ingin menggunakannya sambil mengembangkan aplikasi Java, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar dan kami akan menghubungi Anda kembali.