Spring Boot, Cara Termudah Membangun Software Berbasis Spring Framework
Jika boleh penulis menganalogikan, bekerja sebagai seorang programmer adalah ibarat menandatangani kontrak darah bahwa ia tidak akan pernah kehilangan stamina untuk selalu belajar hal – hal baru. Bagaimana tidak? Teknologi komputasi dan pemrograman bergerak begitu cepat, cara seorang programmer membangun sebuah perangkat lunak selalu berubah dari hari.
Apa yang dipelajari setahun lalu, 5 tahun lalu bahkan 10 tahun yang lalu, boleh jadi menjadi usang di hari ini. Itu juga yang terjadi di hampir 2 dekaded diciptakannya Spring Framework, yang ditandai oleh Rod Johnson yang merilis buku berjudul Expert One-on-One J2EE Design and Development (Wrox, 2002, http://mng.bz/oVjy).
Spring pada dasarnya adalah sebuah IoC Container yang bertugas mengelola hingga merakit komponen – komponen (komponen tersebut kemudian disebut sebagai bean) sehingga terbentuklah sebuah perangkat lunak utuh. Layaknya batu-bata, semen, pasir yang kemudian dirakit menjadi sebuah bangunan rumah.
Di atas IoC Container, Spring juga memiliki segudang library terkait seperti sebagai berikut
- web framework (Spring MVC)
- data persistence framework (Spring Data)
- security framework (Spring Security)
- Integrasi Spring ke sistem yang lain,
- Runtime monitoring,
- Dukungan mikroservice
- XML Configuration
Saat penulis baru di awal – awal bekerja sebagai seorang software developer, Spring ApplicationContext dibuat dengan menggunakan lebih dari satu file XML sebagaimana pernah diulas pada tulisan subrutin yang lalu.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context-4.3.xsd"> <bean name="employee" class="com.subrutin.halospring.Employee"> <property name="id" value="2"></property> <property name="fullName" value="Silvie"></property> <property name="address" value="Jalan Merdeka"></property> </bean> </beans>
- Java Based Configuration
Kemudian seiring berjalannya waktu, konfigurasi menggunakan annotation dirasa lebih mudah dan lebih umum dilakukan
@Configuration public class AppConfig { @Bean public Employee employee() { Employee employee = new Employee(); employee.setId("2"); employee.setFullName("silvie"); employee.setAddress("Jalan Merdeka"); return employee; } }
Anotasi @Configuration
yang ditulis pada class memberitahu kepada Spring bahwa class tersebut merupakan class konfigurasi yang menyediakan bean ke IoC Container.
Konfigurasi java-based menawarkan beberapa keuntungan dibandingkan XML, termasuk type safety dan lebih mudah di-refactor. Meskipun begitu, sekarang ini konfigurasi secara eksplisit hanya diperlukan saat Spring tidak dapat secara otomatis mendeteksi dan mengkonfigurasi komponen tersebut.
- Automatic Configuration
Automatic configuration adalah salah satu fitur favorit para programmer, dan merupkan akar dari sebuah fitur yang disebut sebagai autowiring dan component scanning, dengan component scanning Spring dapat langsung menemukan bean mana saja diperlukan dan langsung secara otomatis merakitnya (meng-inject) komponen mana yang memerlukan bean tersebut
Dengan diperkanalkannya Spring Boot yang merupakan perluasan dari Spring Framework, automatic configuration tidak hanya berupa componen scanning dan autowiring namun juga dapat secara otomatis memprediksi komponen yang diperlukan berdasarkan classpath, environment variabel dan banyak faktor lain.
Banyak programmer yang membangun aplikasi menggunakan Spring Boot, tidak menyadari fitur automatic configuration, karena konsep ini ibarat “angin” yang sulit untuk dilihat, namun hanya dapat diketahui efeknya. Karena itu penulis selalu menganjurkan pembaca untuk setidaknya memahami konsep dasar Spring Framework sebelum mulai menggunakan Spring Boot.
Namun ternyata jika pembaca sudah memahami konsep dasar Spring Framework, maka sekarang adalah saat yang tepat untuk melanjutkan membuat aplikasi pertama menggunakan Spring Boot yang akan dibahas pada tulisan berikutnya,
[…] Spring Boot, Cara Termudah Membangun Software Berbasis Spring Framework […]