Selasa, 19 Agustus 2014

ApplicationContext pada Spring Web MVC

Aplikasi Java berbasis web memerlukan environment yang berbeda-beda sehingga dibutuhkanlah sebuah 'script' yang dapat diatur tanpa melalui compiling. Script ini biasanya dalam format xml yang ditempatkan pada folder resources. Karena tidak di-compile menjadi bytecode, maka kita dengan mudah dapat mengganti script tersebut ketika sudah berada pada server produksi.

Misalnya; untuk bekerja pada lingkungan development lokal kita memerlukan setting database dengan user root dan password 1234. Sedangkan pada server produksi, kita memerlukan setting user kambing dengan password ganteng. Maka dari itu karena kita menerapkan ApplicationContext maka dengan mudah kita dapat mengganti sesuai dengan lingkungan kerja kita.

Berikut adalah langkah-langkah bagaimana membuat ApplicationContext pada Spring Web MVC;

1. Buat sebuah project Spring Web MVC.
Pada pembuatan project ini saya sarankan menggunakan Spring Tool Suite (STS).

2. Buat class dengan nama TutAppContext.java
package com.nitza.trycontexta;

public class TutAppContext {
 
 private String name;
 private String pekerjaan;
 
 public void setName(String name) {
  this.name = name;
 }
 
 public void setPekerjaan(String pekerjaan) {
  this.pekerjaan = pekerjaan;
 }
 
 public String printJsonString() {
  return "{ \"Nama\": \""+name +"\", \"Pekerjaan\":\""+pekerjaan+"\" }";
 }
}


3. Buat file MyBeans.xml

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean id="tutBean" class="com.nitza.trycontexta.TutAppContext">
<property name="name" value="Nitza" />
<property name="pekerjaan" value="Consultant" />
</bean>
</beans>


4. Ganti HomeController yang dibuat secara default seperti berikut

package com.nitza.trycontexta;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


@Controller
public class HomeController {
 
 @RequestMapping("/")
 @ResponseBody
 public String tutContext() {
  ApplicationContext context = new ClassPathXmlApplicationContext("MyBeans.xml");
  
  TutAppContext tutBean = (TutAppContext) context.getBean("tutBean");
  return tutBean.printJsonString();
 }
}


5. Struktur file/folder terlihat seperti berikut




6. Ketika aplikasi dijalankan akan terlihat seperti berikut


Finish!

Jika ingin download contoh, berikut link github-nya.