Beranda > Spring Framework > pengenalan spring framework

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 :D

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

download file latihannya

enjoy

  1. 14 Februari 2009 pukul 11:21 | #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. 16 Februari 2009 pukul 01:02 | #2

    gak perlu bro

  3. abu salman
    18 Februari 2009 pukul 17:20 | #3

    wah dicobain nih mas eko, baru masuk jee nih, sarannya harus mulai dari mana nih?
    tetep smangat… hidup java indonesi!

  4. 6 Maret 2009 pukul 15:46 | #4

    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..

  5. Agung
    23 Maret 2009 pukul 11:56 | #5

    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

  6. 23 Maret 2009 pukul 17:42 | #6

    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 :D

  7. guest
    17 September 2009 pukul 16:54 | #7

    baru mau belajar spring. thanks atas pencerahannya. pak.

    • 27 September 2009 pukul 23:15 | #8

      ok, sama3

  8. doez
    12 Oktober 2009 pukul 13:42 | #9

    ok thx

  9. fahmi
    2 Februari 2010 pukul 20:46 | #10

    bos,kalo mw belajar spring apa harus punya banyak pengalaman java EE??

  1. 5 April 2009 pukul 03:26 | #1
  2. 26 Mei 2009 pukul 15:37 | #2