Memulai Spring dengan Gradle



Empat tahun berlalu sebagai mahasiswa Teknik Informatika, dan cukup lama bergelut dengan Java, udah pasti dong gw kenal dengan yang namanya Spring. Tapi celakanya gw cuma sekedar kenal aja, waktu itu masih mumet apa itu Spring dan buat apaan lagi ini ckckckkckck. Ahirnya setelah sekarang gw lumayan punya waktu senggang ditengah-tengah kesibukan buat belajar IELTS (kedengerannya keren gw prepare buat IETS, but my english so terrible, need long time for get it  wkwkwk). 

First of all, kita harus tau dulu nih apa sih itu Spring? Gampangnya sih, spring itu adalah sebuah framework, selayaknya fremework lainnya spring ini punya banyak kerangka-kerangka aplikasi sehingga kita ngga usah terlalu terpaku dengan suatu algorithma yang tentunya akan memakan banyak waktu. Dalam dunia kerja sudah tentu kita dituntut serba cepat, dan dengan menggunakan framework kita dipermudah karena hanya perlu memikirkan proses bisnis dari aplikasi yang akan kita buat. Lalu algorithmanya? Serahkan aja sama si Spring ini. Sounds easy? Ga gitu juga, karena tetap aja ini aplikasi hanya mempermudah dan cuma menyediakan kerangka, jadi ya kita tetap butuh skill programmer. Apalagi yang namanya framework kan juga butuh penyesuaian agar pas dengan aplikasi yang kita bikin. Dan tentunya kita harus konfigurasi segala macam juga, yang udah ngebuat gw cukup pusing hehehe...

Yang kedua, what is Gradle? Gradle itu build tools, build tools itu membantu mengotomatisasi pekerjaan kita dalam hal distribusi dan build project.  Packaging project adalah aktivitas kita sebelum mendistribusikan sebuah project. Dalam kegiatan packaging ini, kita seleksi file-file mana saja yang harus diikutsertakan, bagaimana layoutnya, apa tipe packagenya dan sebagainya. Nah build tools ini mempunyai kemampuan untuk membantu kita dalam mengerjakan hal ini. Cukup sekali melakukan konfigurasi saja, selanjutnya biar build tools yang melakukannya. Selain Gradle, ada juga yang namanya Maven, yang mungkin terdengar lebih familiar, but for now,  we just learn Gradle. More details is better.

Selanjutnya, kita akan mulai praktek guys. Tapi sebelumnya pastikan dulu kalau Java udah exist di kompi agan-agan sekalian. Gw pake Java versi 1.8.0_25, sekedar info Gradle punya requirement minimal Java versi 1.6 or later. I have been get bad experient because i use Java version 1.5 before. Kalo udah, ayo kita mulai dengan instal Gradle. Sebelumnya download Gradel di sini terlebih dahulu,  pilih versi terbaru. Setelah itu ekstrak di tempat yang agan mau, saya ngeletakinnya di C:\tools\gradle. Kemudian, tambahin environment variable baru, GRADLE_HOME, dan tambahin juga GRADLE_HOME\bin ke  Path. Caranya sama seperti waktu kita ngeletakin path JAVA_HOME variable? Kita tinggal pergi ke Control Panel ➤ System and Security ➤ System ➤ Advanced system settings ➤ Environment Variables. See the following Figure that shows the Environment variables dialog for GRADLE_HOME. 




Setelah itu bisa mulai dah ngecek dengan cara mengeksekusi statement gradle -v. Dan agan sukses kalo outputnya ga jauh-jauh kaya penampakan dibawah ini.


Kalau udah sukses, hands on, kita lanjut ke coding-codingan. Sebelum itu buat dulu directory seperti dibawah ini. Yang titik satu itu file, yang titik tiga itu folder, jadi folder main itu ada di folder src, gw yakin pasti ngertilah... hehehe

• build.gradle
   ••• src
       ••• main
           ••• java
               ••• com
                   ••• apress
                      ••• isf
                          ••• spring
                              • Application.java
                              • HelloWorldMessage.java
                              • MessageService.java


Nah selanjutnya isikan tiap file sesuai dengan coding di bawah ini.

coding build.gradle

apply plugin: 'java'
apply plugin: 'application'
mainClassName = System.getProperty("mainClass")
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework:spring-context:4.0.5.RELEASE'
}


coding Application.java

package com.apress.isf.spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation. AnnotationConfigApplicationContext;

public class Application {
@Bean
MessageService helloWorldMessageService() {
return new HelloWorldMessage();
}
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(Application.class);
MessageService service = context.getBean(MessageService.class);
System.out.println(service.getMessage());
 }  
}


coding HelloWorldMessage.java

package com.apress.isf.spring;

public class HelloWorldMessage implements MessageService {
public String getMessage(){
return "Hello World";
}
}

coding MessageService.java

package com.apress.isf.spring;

public interface MessageService {
public String getMessage();
}

Untuk Springnya akan terdownload otomatis saat kita melakukan run program, jadi pastikan internet anda dalam kondisi tersambung saat menjalankan program.

Finally, kita tinggal nge run deh. Caranya ga usah dengan javac lalu run program javanya lagi, karna semua proses itu udah dipermudah dengan gradel ini. jadi kita tinggal masuk melalui cmd ke folder dimana build.gradle tadi berada, lalu menjalankan perintah :

gradle run -DmainClass=com.apress.isf.spring.Application

Dan bila anda beruntung maka output anda tidak akan jauh-jauh seperti dibawah ini 

isf-book$ gradle run -DmainClass=com.apress.isf.spring.Application
:ch01:compileJava UP-TO-DATE
:ch01:compileGroovy UP-TO-DATE
:ch01:processResources UP-TO-DATE
:ch01:classes UP-TO-DATE
:ch01:run
20:37:08.705 [main] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of
singleton bean 'helloWorldMessageService'
Hello World

Oh ia, ini semua saya pelajari dari buku Introducing Spring Framework karya Fellipe Gutierrez. Mungkin bagi anda yang mau mempelajari Spring selanjutnya bisa membaca buku ini, karna sangan work bahkan buat pemula seperti saya ini wkkwkwkw....




SHARE

Ansari Milah Ibrahim

Hi. I’m Designer of Ansorpunya.blogspot.com. I’m graduate from Khairul Bariyyah Islamic Boarding School and Gunadarma University, Java Programmer, Pro Evolution Soccer Player, Dreamer, IELTS score Hunter, Scholarship Hunter, Writer and I am not sure who I’m actually. Just inspired to make things looks better and better.

    Blogger Comment
    Facebook Comment

0 komentar :