Mungkin di antara kalian ada yang baru pertama kali mendengar nama Spring 3, sebenarnya makhluk apakah Spring 3 itu ? Spring 3 adalah sebuah Java framework yang bersifat open source. Spring 3 itu sendiri terdiri beberapa modul seperti berikut :

  • Inversion of Control
  • Aspect Oriented Programming
  • Data Access ( JDBC dan Object Relational Mapping)
  • Transaction Mangement
  • MVC ( Model View Controller )
  • Remote Access Framework
  • Convention Over Configuration
  • Batch Processing
  • Security
  • Remote Management
  • Messaging

Gimana ? Luas kan ya spring itu sendiri. Saya sendiri baru menggunakan yang IoC, MVC, JDBC,  Transaction, Remote dan security.  Nah sekarang saya akan membahas bagaimana membuat hello word dengan menggunakan modul IoC (inversion of control).  Atau Ioc juga biasa dikenal dengan sebutan Dependency Injection(DI). IoC itu sendiri maksudnya kita dapat membuat suatu object dari suatu class tanpa harus menggunakan cara biasa seperti NamaClass obj = new Namaclass();

Pada dasarnya ada 2 cara untuk mengkonfigurasi Spring IoC itu sendiri, pertama menggunakan xml (yang akan saya jelaskan disini) dan kedua menggunakan annotation (yang akan saya jelaskan di tulisan berikutnya).

Karena saya sudah terbiasa menggunakan netbeans sebagai IDE untuk coding, maka saya akan menggunakan netbeans sebagai toolsnya.

Tidak usah terlalu banyak basa-basi, download library untuk spring di http://www.springsource.org/download. Kemudian copy semua file .jar yang ada di folder dist. (sebenarnya untuk latihan kali ini kita tidak memerlukan semua librarynya, tapi dicopy saja semuanya toh ukuran filenya juga kecil ini).

Spring 3 ini memerlukan library lain juga, yaitu commons-logging. Commons-logging ini fungsinya untuk untuk mengirim output ke log. Kalian bisa mendownloadnya di http://commons.apache.org/logging/download_logging.cgi.

  • Pertama klik menu New Project -> Java -> Java Application. Lalu buat sebuah folder lib di dalam project kita.
  • Setelah itu copy semua file .jar yang sudah download tadi ke dalam folder lib. Kemudian jangan lupa untuk menginclude library tersebut ke dalam project kita. Caranya klik kanan nama project -> Properties -> Libraries -> Add JAR/Folder. Kemudian masukkan semua library yang ada di dalam folder lib tadi. Klik Ok.

Buatlah sebuah class People di dalam package com.maniakjava.domain. Isi codenya seperti berikut ini :

package com.maniakjava.domain;

public class People
{
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public People(String address, int age, String message)
    {
        System.out.println("Konstruktor dijalankan. " +
                "Alamat : " + address + ". Umur : " + age +
                ". Pesan : " + message);
    }

    public void sayHello()
    {
        System.out.println("Hello World");
    }
}

 

Lalu buatlah sebuah file .xml untuk mengkonfigurasi bean dari class di atas.  Buat sebuah file People.xml yang terletak di dalam <default-package>. Isi code nya seperi berikut

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean id="peopleBean" class="com.maniakjava.domain.People" >
   <property name="name" value="Maniak Java"/>
   <constructor-arg index="0" value="Jakarta" />
   <constructor-arg index="1" value="23" />
   <constructor-arg index="2" value="hello spring" />
</bean>

</beans>

Kemudian buatlah sebuah class Main yang terletak di dalam package com.maniakjava.main. Isinya seperti berikut

package com.maniakjava.main;

import com.maniakjava.domain.People;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;

public class Main
{
    public static void main(String[] args)
    {
        XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(
                "People.xml"));
        People obj = (People) beanFactory.getBean(
                "peopleBean");
        obj.sayHello();
        System.out.println("Nama : " + obj.getName());

        BeanFactory beanfactory = new ClassPathXmlApplicationContext(
                "People.xml");
        People obj2 = (People)  beanfactory.getBean("peopleBean");
        obj2.sayHello();
        System.out.println("Nama : " + obj.getName());
    }
}

 

Kemudian jalankan class Main di atas. Perhatikan, kita tidak perlu membuat object secara tradisional seperti People obj = new People(); lagi kan.

Selain itu fungsi setter yang ada di class juga akan dijalankan secara otomatis oleh spring. Biasanya dikenal dengan nama setter injection. Constructor yang ada di class People juga akan dijalankan secara otomatis. Untuk constructor biasanya disebut dengan constructor injection.

Perhatikan untuk membuat instance dari BeanFactory, kita bisa menggunakan XmlBeanFactory atau BeanFactory itu sendiri.

Nah di tulisan berikutnya saya akan memberikan contoh spring IoC menggunakan annotation.

Comments
  1. […] Membuat Hello World dengan menggunakan Spring 3 […]

  2. ekosus says:

    spring itu free apa berbayar gan..??

Leave a reply to ekosus Cancel reply