Tutorial Programming dan Informasi Teknologi

November 12, 2016

SPRING 4 HELLO WORLD MENGGUNAKAN ANOTATION CONFIG


Hallo Agan-agan sekalian. berjumpa lagi dengan ane, kali ini ane akan sedikit berbagi ilmu membuat project Hello world dengan Spring 4 menggunakan konfigurasi java (Tanpa XML)

Spesifikasi :
  • Spring 4.0.6.RELEASE
  • Maven 3
  • JDK 1.7
  • Tomcat 7.0
  • STS IDE

Tanpa banyak basa basi kita langsung saja ya gan, silahkan buat maven project seperti biasa, jika ada yang blum bisa, bisa dilihat di tutorial sebelumnya, silahkan klik disini. Jika sudah bisa silahkan buat struktur program seperti gambar.

Gambar 1. Struktur Project
Btw Kenapa nama proectnya springSecurity2 karena ane tadinya mau pake project ini berlanjut untuk tutorial springSecurity, jadi agan bisa menamai projectnya sesuka hati agan.

Langkah selanjutnya kita buka pom.xml terlebih dahulu. lalu copy kan librarynya

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <groupId>com.webproject.training3</groupId>  
      <artifactId>springSecurity2</artifactId>  
      <packaging>war</packaging>  
      <version>0.0.1-SNAPSHOT</version>  
      <name>springSecurity2 Maven Webapp</name>  
      <url>http://maven.apache.org</url>  
      <properties>  
           <springframework.version>4.1.6.RELEASE</springframework.version>  
           <springsecurity.version>4.0.1.RELEASE</springsecurity.version>  
      </properties>  
      <dependencies>  
           <!-- Spring -->  
           <dependency>  
                <groupId>org.springframework</groupId>  
                <artifactId>spring-core</artifactId>  
                <version>${springframework.version}</version>  
           </dependency>  
           <dependency>  
                <groupId>org.springframework</groupId>  
                <artifactId>spring-web</artifactId>  
                <version>${springframework.version}</version>  
           </dependency>  
           <dependency>  
                <groupId>org.springframework</groupId>  
                <artifactId>spring-webmvc</artifactId>  
                <version>${springframework.version}</version>  
           </dependency>  
           <!-- Spring Security -->  
           <dependency>  
                <groupId>org.springframework.security</groupId>  
                <artifactId>spring-security-web</artifactId>  
                <version>${springsecurity.version}</version>  
           </dependency>  
           <dependency>  
                <groupId>org.springframework.security</groupId>  
                <artifactId>spring-security-config</artifactId>  
                <version>${springsecurity.version}</version>  
           </dependency>  
           <dependency>  
                <groupId>javax.servlet</groupId>  
                <artifactId>javax.servlet-api</artifactId>  
                <version>3.1.0</version>  
           </dependency>  
           <dependency>  
                <groupId>javax.servlet.jsp</groupId>  
                <artifactId>javax.servlet.jsp-api</artifactId>  
                <version>2.3.1</version>  
           </dependency>  
           <dependency>  
                <groupId>javax.servlet</groupId>  
                <artifactId>jstl</artifactId>  
                <version>1.2</version>  
           </dependency>  
      </dependencies>  
      <build>  
           <finalName>springSecurity2</finalName>  
      </build>  
 </project>  

Setelah pom.xml nya siap, kita buka package configuration, lalu edit ApplicationContext.java, isikan dengan code sebagai berikut :


 /**  
  *   
  */  
 package com.muhamadhuda.security.configuration;  
 import org.springframework.context.annotation.Bean;  
 import org.springframework.context.annotation.ComponentScan;  
 import org.springframework.context.annotation.Configuration;  
 import org.springframework.web.servlet.ViewResolver;  
 import org.springframework.web.servlet.config.annotation.EnableWebMvc;  
 import org.springframework.web.servlet.view.InternalResourceViewResolver;  
 import org.springframework.web.servlet.view.JstlView;  
 /**  
  * Created by Muhamad Huda Avianto   
  * Nov 12, 2016  
  */  
 @Configuration  
 @EnableWebMvc  
 @ComponentScan (basePackages = "com.muhamadhuda.security")  
 public class ApplicationContext {  
      @Bean  
      public ViewResolver viewResolver (){  
           InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();  
           viewResolver.setViewClass(JstlView.class);  
           viewResolver.setPrefix("/WEB-INF/views/");  
           viewResolver.setSuffix(".jsp");  
           return viewResolver;  
      }  
 }  

Lalu masih dalam package configuration, edit SpringMvcInit dengan Code sebagai berikut :

 /**  
  *   
  */  
 package com.muhamadhuda.security.configuration;  
 import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;  
 /**  
  * Created by Muhamad Huda Avianto   
  * Nov 12, 2016  
  */  
 public class SpringMvcInit extends AbstractAnnotationConfigDispatcherServletInitializer{  
      /* (non-Javadoc)  
       * @see org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer#getRootConfigClasses()  
       */  
      @Override  
      protected Class<?>[] getRootConfigClasses() {  
           // TODO Auto-generated method stub  
           return new Class[] {ApplicationContext.class};  
      }  
      /* (non-Javadoc)  
       * @see org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer#getServletConfigClasses()  
       */  
      @Override  
      protected Class<?>[] getServletConfigClasses() {  
           // TODO Auto-generated method stub  
           return null;  
      }  
      /* (non-Javadoc)  
       * @see org.springframework.web.servlet.support.AbstractDispatcherServletInitializer#getServletMappings()  
       */  
      @Override  
      protected String[] getServletMappings() {  
           // TODO Auto-generated method stub  
           return new String[] {"/"};  
      }  
 }  

Jika kalian perhatikan konfigurasi ini hampir sama dengan konfigurasi xml, hanya saja konfigurasi yang saya buat semuanya menggunakan anotasi bawaan spring. silahkan bandingkan sendiri ya dengan konfigurasi xml.

Setelah itu kita buka package controller lalu buat mappingnya :
 /**  
  *   
  */  
 package com.muhamadhuda.security.controller;  
 import org.springframework.stereotype.Controller;  
 import org.springframework.web.bind.annotation.RequestMapping;  
 /**  
  * Created by Muhamad Huda Avianto   
  * Nov 12, 2016  
  */  
 @Controller  
 public class MainController {  
      @RequestMapping (value = {"/","/home"})  
      public String goIndex(){  
           return "index";  
      }  
 }  

Langkah selanjutnya, kita buat jsp nya ya di folder /WEB-INF/views/index.jsp

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"  
   pageEncoding="ISO-8859-1"%>  
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
 <html>  
 <head>  
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
 <title>Insert title here</title>  
 </head>  
 <body>  
 <h2>Hello World</h2>  
 </body>  
 </html>  

Lalu project ini sudah bisa di running, silahkan running menggunakan tomcat v7 dan hasilnya seperti ini :

Gambar 2. Hasil Runing project

5 comments:

Contact Form

Name

Email *

Message *