Spring Framework

Filed under: by: Andi Ika

Spring Framework adalah sebuah kerangka kerja opensource, yang diciptakan oleh Rod Johnson untuk masalah desain sistem dalam pengembangan aplikasi enterprise. Spring adalah solusi alternatif Enterprise JavaBeans (EJBs). Spring juga mengimplementasikan beberapa teknologi IoC kedalam sebuah MVC (Model-View-Controler) project.

    kita uraikan sedikit tentang IOC dan MVC.
  • Ioc (Injection of Control)
  • IOC yang singkatan dari Injection of Control atau Dependency Injection (DI), IoC merupakan sebuah mekanisme yang secara awam adalah sebuah mekanisme memanggil sebuah objek tetapi tanpa inisialisasi. IOC ini sebenarnya menarik diikuti, dan untuk beberapa kasus sangat bagus digunakan sebagai solusi dari sebuah desain project, terutama mengisi interkoneksi antara Model, View dan Controller dalam pemograman berbasis MVC.

    tentang IOC, untuk lebih lengkap dapat mengunjungi http://martinfowler.com/articles/injection.html dan http://www.dotnetfunda.com/articles/article154.aspx

  • MVC (Model-View-Controller)
  • MVC adalah pola desain yang populer untuk framework berbasis Java seperti JSF, Struts, WebWork, dan Tapestry.Semua ini adalah teknologi yang memungkinkan pemograman memisahkan antara data, business logic dan presentation layer dalam sebuah pola standar bernama MVC. Teknologi MVC ini sebenarnya tidak hanya ada didunia web atau Java EE saja, sebenarnya didalam Java standard yang lebih dikenal dengan Java SE, telah ada teknologi berbasis MVC, yaitu Swing. Teknologi ini diciptakan oleh tim IBM. Swing yang berjalan diteknologi AWT, merupakan MVC juga, hampir semua objectnya seperti JTable adalah MVC. Malah beberapa sumber mengatakan hal ini terjadi karena di IBM terdapat tim Smalltalk didalamnya, telah berkontribusi lebih dari 80% terhadap Swing. Ini yang menjadi alasan mengapa Swing sangat MVC.Jadi bilamana ingin jadi programmer Java, kata MVC adalah hal biasa. dan didunia Java yang terkenal dengan solusi yang selalu memikirkan arsitektur dan kekuatan container, MVC telah memiliki banyak turunan, yang berbentuk pola yang lebih sering disebut dengan design Pattern.

Spring berawal dari sebuah IOC (Spring Bean) dan berkembang menjadi sebuah solusi yang lengkap. sehingga membuat Tomcat + Spring memiliki teknologi yang sama dengan JBoss. Padahal teknologi Spring ini berjalan diatas JBoss. Bentuk persaingan ini mirip dengan persaingan Windows dengan Java. Kita tahu Java berjalan diatas Windows.
seperti yang kita bahas adalah spring, disini Spring MVC yang berdiri diatas IOC (Injection of Control) atau Depednency Injection, telah membuat framework-framework MVC yang saling dipertukarkan. Sebagai contoh sebuah solusi menggunakan model EJB3, kemudian diganti dengan Hibernate saja. karena EJB yang diciptakan untuk program terdistribusi, dan ternyata tidak cocok untuk projek yang skala kecil maka muncul layer baru dalam pemograman, terutama sebagai perekat antara model, view dan controler. dalam implementasi aplikasi ini sering di sebut aplikasi berbasis MVC terutama dalam dunia java.

tentang Spring MVC bisa dibaca klik disini


Saat ini Spring mempunyai dua cara dalam memberikan Dependency Injection(DI):
  1. Pembuat Injection.
  2. Dependency di berikan melalui constructor di kelas Spring pada saat Instansiasi kelas.

  3. memberikan Injection.
  4. dengan method bean bersifat public. disini Spring Framework menggunakan method setter public untuk menyuntikkan Dependency. Dependency ini didefinisikan dalam file konfigurasi eksternal, yang diambil ke dalam application context spring ketika server web dimulai. Application context Spring adalah sebuah XML, sehingga dalam implementasinya memungkinkan dilakukan hubungan antara satu bean dengan bean lain didalamnya. Sayang sekali, belum ada editor untuk propertis didalam applicationContext, sehingga untuk melihat lebih jelas isi dari sebuah beans ini harus menggunakan XML Editor.



Spring Framework yang bertanggung jawab untuk instansiasi Spring bean dan Spring bean memanggil method setter dan menyuntikkan bean pada saat inisialisasi. Spring Framework menangani bean Dependency Injection melalui pengaturan setter-Getter.Spring di desain untuk menjadi sebuat titik integrasi back-end server dan mampu di pakai untuk java EE yang berbasis server-side seperti tomcat. Spring adalah solusi yang ideal untuk mengintegrasikan dengan RIA (Rich Internet Applications).


Berikut ini adalah gambar Spring Framework Module:


Berikut ini adalah gambar Spring Framework Module:


6 kerangka spring module dalam framework diatas, sebagai berikut:
Core: adalah inti Spring container menyediakan fungsionalitas dasar yang mengatur kerangka.
Salah satu aspek yang paling penting adalah bagaimana IOC Spring diwujudkan oleh DI.


JEE / Context: Modul ini berada di atas core dimana memperluas fungsinya dengan
menyediakan cara yang konsisten untuk mengendalikan objek Spring.


Aspek-Oriented Programming (AOP): Spring menyediakan dukungan untuk berorientasi AOP. Dalam Spring, aspek merupakan bagian dari aplikasi cross-cut dengan mengaktifkan modularisasi.Aspek menentukan komponen fungsionalitas, tanpa perlu memodifikasi
setiap pembuatan kelas baru.


Data Access Object (DAO): Modul ini merupakan lapisan abstraksi untuk Java Database Connectivity (JDBC) API. Modul ini juga membantu dalam mencegah masalah-masalah yang timbul karena tidak menutup secara manual koneksi database dan berfungsi memberikan pesan kesalahan untuk membantu mendukung pesan dari database server.


Web: Modul ini menyediakan fitur integrasi yang diarahkan untuk membangun komponen web seperti multi file upload, IOC Instansiasi menggunakan servlet listener, dan konteks web. paket Spring's MVC mungkin salah satu yang paling umum untuk merancang dan mengembangkan aplikasi web. pattern ini diterapkan oleh beberapa java framework seperti Tapestry, JavaServer Faces (JSF), WebWork, dan Struts dan juga framework user interface seperti Cairngorm dan PureMVC untuk Flex, yang ditulis dalam ActionScript.


Object-Relational Mapping (ORM): Modul ini untuk integrasi tool ORM populer seperti Hibernate, TopLink, iBATIS, dan Java Persistence API (JPA).


beberapa manfaat Springframework:
  • Spring Framework memungkinkan teknologi RIA untuk inject lansung ke Spring bean.
  • framework yang memungkinkan untuk pengujian / koreksi ulang aplikasi lebih mudah, karena kelas dasar dirancang sebagai JavaBeans untuk inject langsung ke objek melalui metode setter.
  • Spring memiliki layer yang sangat jelas dengan MVC.
  • Spring memungkinkan secara cepat membangun dan menyebarkan aplikasi interprise dengan menggunakan objek POJOs. Ini akan membantu untuk meningkatkan kemudahan kode client sebagai output dalam proyek.
  • Data tier di Spring memungkinkan dengan cepat mengubah JDBC dalam akses ke database, serta seluruh teknologi ORM yang mengelola
    layer DAO. Hal ini bermanfaat untuk menyimpan kode dalam modul Spring ketika pindah ke database lain.

0 comments: