pengenalan spring framework


logo yang dah bejalar java enterprise edition mungkin dah gak aneh soal spring framework, hanya mungkin yang baru belajar java standard edition mungkin agak bingung apa itu spring framework?

penting kah spring framework? jawabannya tergantung, yup tergantung apa kita suka teknik spring atau enggak, nah apa dunk teknik yang dipake spring?

spring merupakan framework ioc (injection of control) atau bisa juga dibilang dependency injection, jadi mekanisme dimana kita gak perlu mendeklarasikan object untuk mendapatkan object tersebut, karena object tersebut akan otomatis di instansi oleh spring, atau kata gaulnya, objectnya akan di inject oleh spirng.

bingung? ok, kita contohkah, misal gw punya class seperti ini :

package echo.gokil.spring.pengenalan;

public class Pengenalan {

    private String data;

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public void traceData() {
        System.out.println(getData().toLowerCase());
    }
}

sekarang kita coba jalankan menggunakan source code seperti ini :

package echo.gokil.spring.pengenalan;

public class Main {

    public static void main(String[] args) {
        Pengenalan pengenalan = new Pengenalan();
        pengenalan.traceData();
    }
}

jika dijalankan maka hasilnya seperti ini :

Exception in thread "main" java.lang.NullPointerException
        at echo.gokil.spring.pengenalan.Pengenalan.traceData(Pengenalan.java:16)
        at echo.gokil.spring.pengenalan.Main.main(Main.java:7)
Java Result: 1

kenapa error? jawabannya karena data blun terdeklarasikan sebagai object, yang artinya data itu bernilai null, makanya ketika di panggil metode traceData() maka akan terjadi error.

sekarang kita coba buat injection menggunakan spring, pertama buat konfigurasinya dengan nama spring.xml yang isinya seperti ini :



    
    
        
    


tag bean artinya kita bikin object baru dan class itu menuntukkan class lokasi class yang kita mo buat objectnya, dan id merupakan unik id yang dimiliki bean tersebut, karena dengan id tersebut kita bisa mendapatkan object tersebut, nah untuk property itu merupakan property yang dimiliki class dan property yang akan kita inject adalah data dan untuk value kita inject dengan “eko keren!”

dan sekarang kita coba jalankan menggunakan spring framework :

package echo.gokil.spring.pengenalan;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainSpring {

    public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("echo/gokil/spring/pengenalan/spring.xml");
        Pengenalan pengenalan = (Pengenalan) applicationContext.getBean("pengenalan");
        pengenalan.traceData();
    }
}

nah inti dari spring framework adalah applicationcontext, dan untuk membuatnya kita cukup pake classpathxmlapplicationcontext dengan parameter lokasi file konfigurasi xml, setelah itu untuk mendapakan objectnya cukup dengan metode getBean dengan parameter id yang kita deklarasikan di file konfigurasi, sekarang kalo dijalankan hasilnya seperti ini :

06 Feb 09 22:13:11 org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@bf32c: display name [org.springframework.context.support.ClassPathXmlApplicationContext@bf32c]; startup date [Fri Feb 06 22:13:11 ICT 2009]; root of context hierarchy
06 Feb 09 22:13:11 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [echo/gokil/spring/pengenalan/spring.xml]
06 Feb 09 22:13:11 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
INFO: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@bf32c]: org.springframework.beans.factory.support.DefaultListableBeanFactory@161f10f
06 Feb 09 22:13:11 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@161f10f: defining beans [pengenalan]; root of factory hierarchy
eko keren!!!

nah untuk bagian INFO adalah trace dari Spring, tapi itu artinya gak da yang error, tapi terlihat bagian bawah bahwa ada tulisan “eko keren!” yang artinya inject yang kita lakukan berhasil, jadi sekarang kita gak perlu deklarasikan object data di class, cukup inject lewat xml 😀

nah seperti itulah kegunaan spring, untuk melakukan injeksi 😀 gak terlalu sulit kan?

download file latihannya

enjoy

Iklan

18 pemikiran pada “pengenalan spring framework

  1. mas, saya baru belajar java, saya masih bingung dengan spring, itu didalam kode xml nya akan ada “http://www.springframework.org/schema/beans”, nah itu apa kita harus terkoneksi ke internet untuk menjalankan perintah diatas ?

    terimakasih atas bantuannya 🙂

  2. Wah,bagus nih, ku baru belajar java pake netbean, disitu ada springframework, ku kira untuk apa, ternyata untuk itu tooh.. wah ada ide baru nih,, eemmm.. brarti bisa kayak plugin gitu ya..

  3. Bozz, gue mo nanya nich…
    Ini gue baru aja belajar java, tapi gue bingung harus mulai dari mana???
    Gue sich dah pernah belajar C++, tapi gue bingung.
    Sebenarnya kalau tampilannya kaya Dos gitu dalam dunia kerja itu misalnya buat apa sich?? Maklum, biasanya sich sering pake VB & Voxpro jadi keliatan visual gitu.
    Mohon penjelasannya!!! Thankssss

  4. aplikasi dis biasanya dibuat kalo lo bikin server atau
    aplikasi yang kerjanya menghandel kerja aplikasi lain
    kan kalo aplikasi kayak gitu harus ringan tapi punya
    kemampuan bagus bro, kalo lo pake GUI ya tar server lo
    lemot 😀

  5. Ping balik: Belajar JaVa « WAHYU FIGHTER

  6. Ping balik: Tutorial Java dari Eko Kurniawan Khannedy « nge-WP@net

  7. setelah kata2 ini
    ” sekarang kita coba buat injection menggunakan spring, pertama buat konfigurasinya dengan nama spring.xml yang isinya seperti ini : ”

    kok gambarnya gak muncul ya ?ane jadi bingung

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s