Framework Spring Java
Framework spring adalah framework open source berbasis java yang menyediakan infrastruktur yang komprehensif dalam mengembangkan aplikasi java dengan mudah dan cepat. Spring pertama kali ditulis dan dirilis oleh Rod Johnson dengan lisensi Apache 2.0 pada bulan Juni 2003. Spring akan membantu programmer dalam pengembangan aplikasi dengan build yang sederhana, portable, cepat dan sistem berbasis JVM yang fleksibel. Spring dapat digunakan untuk melakukan pengaturan deklarasi manajemen transaksi, remote access dengan menggunakan RMI atau layanan web lainnya, fasilitas mailing, dan beragam opsi untuk pengaturan data ke database. Spring juga memungkinkan kita menggunakan hanya modul-modul tertentu sehingga kita tidak perlu menggunakan semua modul spring dalam aplikasi apabila tidak diperlukan.
Spring Framework menggunakan teknik pemrograman yang sederhana, model pemrograman dengan Spring cukup mudah, namun rapi. Hal Ini memudahkan bagi para developer pemula untuk mempelajarinya. Jika mempelajari Spring, para developer berevolusi menjadi developer yang lebih baik. Hal ini karena framework Spring mendorong untuk membuat kode program yang modular dan independen. Hasilnya, kode program yang dibuat akan lebih rapi, mudah dites, dan terstruktur dengan baik.
Dengan menggunakan Spring Framework, developer dapat membuat aplikasi enterprise ataupun web. Selain itu juga, para developer dapat membuat aplikasi untuk keamanan dan aplikasi yang terkait dengan big data. Spring termasuk portabel karena aplikasi yang dikembangkan dapa tberjalan pada JVM manapun. Untuk menggunakan Spring, developer dapat menggunakan Eclipse atau Netbeans.
Tapi jika developer menggunakan Eclipse, bisa menggunakan Spring Tool Suites yang merupakan tool pengembangan berbasis Eclipse yang disesuaikan untuk mengembangkan aplikasi Spring. Ini merupakan tool yang siap digunakan, debug, run dan deploy aplikasi Spring termasuk integrasi untuk Pivotal tc Server, Pivotal Cloud Foundary, Git, Maven, AspectJ dan lainnya.
Fitur-fiturdari spring framework:
- Java Inversion of Control (IoC) Container atau disebut juga Dependency Injection
Spring membantu pembuatan kontainer dalam menampung object-object yang memiliki ketergantungan pada object lain dalam melakukan transaksi. IoC berupa layer abstrak yang menampung object-object yang akan digunakan secara singleton (singleton adalah object yang dibuat sekali dan ditampung terus dalam memory selama aplikasi berjalan). Contoh object yang disimpan didalam IoC Container adalah SessionManager yang membuat koneksi dengan database. Contoh penggunaan objek SessionManager tersebut dalam IoC Container yaitu melakukan auto wire data injeksi object kedalam object yang akan melakukan transaksi dalam database.
- Basis Web
- Web MVC FrameworkSpring MVC menyediakan fitur pengembangan web yang memisahkan proses bisnis pada User Interface (Client Layer), Kontroller or Remote Server (Server Layer) dan Data Access Layer kedalam Model-View-Controller (MVC). Implementasi Spring MVC adapada project CUBE yang sedang kami kerjakan.
- Web Enterprise-Java-Beans (EJB) Integration
Teknologi ini memungkinkan penggunaan Java EE 7 yang berupa component oriented yang memudahkan Konversi/Interaksi User Interface melalui Java Beans.Integrasi Spring dalam EJB yaitu pengembangan Web Services melalui Spring.
Implementasi EJB ada pada project E-Purchasing yang kami kerjakan.
- Transaction Management
Spring framework menyediakan sebuah layer abstrak yang generik untuk manajemen transaksi, sehingga memudahkan para developer dalam melakukan manajemen transaksi. - JDBC Exception Handling
layer abstrak JDBC menawarkan exception yang bersifat hierarki sehingga memudahkan penanganan error. - Integrasi dengan hibernate, JDO, Email dan ibatis
- Object-Relational-Mapping (ORM)Menggunakan Hibernate ORM.
ORM adalah pola pemograman database tanpa harus berinteraksi langsung dengan bahasa SQL. ORM digunakan dengan cara mengubah relasi database kedalam objek java (Model) serta transaksi database menggunakan Data-Access-Object(DAO)melalui Hibernate Framework. Model mendefinisikan field dari entity dan relasi antar entity. Sedangkan Data-Access-Object(DAO) berupa transksi yang sering digunakan seperti Input, Delete dan Update pada database dan telah konversi kedalam Generic Object yang hanya perlu dipanggil sekali pada setiap transaksi yang sama. Java Spring Framework memiliki fitur dalam Integrasi Hibernate dalam akses data dan manajemen transaksi database
Kelebihan Spring Framework dengan framework lainnya:
- Build Anything
Menulis kode yang bersih, dapat diuji terhadap komponen infrastruktur pilihan dan lakukan tugas apa pun.
- Run Anywhere
Aplikasi spring berbasis berjalan dimana saja yang menggunakan JVM.
- Rest Assured
Kode dengan percaya diri. Spring menyediakan model pemrograman terbuka yang komprehensif, kohesif, dipahami secara luas dan didukung dengan baik.
- Pola MVC(Model View Controller)
- Hemat Waktu
Kita tidak perlu menghabiskan waktu untuk menulis kode program, kita bisa menggunakan fungsi atau class bawaan dari framework yang kita gunakan, seperti:
- Modul Generator,akan menghasilkan modul yang diinginkan menjadi cepat.
- ORM (Object Relation Mapping), dengan ORM kita tidak perlu repot dengan menuliskan syntax SQL yang spesifik untuk database tertentu.
- Ketersediaan Plugin.
Author :
Robby Roynardo (1801397403)
Felix Edria Bello (1801413855)
Supervisor :
Irene Anindaputri Iswanto, S.Kom., M.Sc.Eng