[Spring 4.x] Hello World in Console

หลังจาก Blog ตอนแรกที่เตรียม Tools กันไปแล้ว คราวนี้มาลองสิ่งที่ Developer ทุกคนต้องเจอกัน Hello World ครับ โดยผมมาพาทำในรูปแบบ Console Application ครับ

หาาาา Spring มันทำเว็บนี้ มันต้องมีคนอุทานแน่ๆ แต่จริงๆ Spring มันเป็น Platform นึงครับ ส่วนของเว็บของ MVC เป้น SubSet ใน Spring ครับ

เริ่มกันเลยดีกว่า

  • ขั้นแรกสร้าง Maven Project ขึ้นมาครับ ให้มันเตรียมพวกไฟล์ Pom.xml และ Lib ที่จำเป็นมาให้
  • เข้าเว็บ Google หา Spring Latest Version หรือไม่ก็เข้าไปลิงค์ที่ผมให้มาครับ
  • สิงที่เราต้องการ คือ พวก Dependency เอาไปแปะในไฟล์ Pom.xml เลยครับ
     
        
            org.springframework
            spring-context
            4.2.6.RELEASE
        
      
    
  • แปะแล้ว Save File ครับ เดี๋ยวตัว IDE มันจะไปดึง Lib ที่เกี่ยวข้องมาให้ครับ
  • ตอนนี้แล้วเรามาดูโครงสร้าง Project กันดีกว่าครับ
    2016-05-22_122011
  • มาเจาะลงทีละไฟล์ครับ
    • สร้าง POJO Interface และ Class กันครับ
      • Interface
        package com.debuggingsoft.HelloConsoleWorld.domain;
        
        public interface HelloConsoleWorld {
         
            void sayHello(String name);
        }
        
      • Implement
        package com.debuggingsoft.HelloConsoleWorld.domain;
        
        public class HelloConsoleWorldImpl implements HelloWorld{
        	 
            public void sayHello(String name) {
                System.out.println("Hello "+name);
            }
         
        }
        
    • สร้าง Bean หรือถ้าใน Spring Version ใหม่ๆจะเป็น Configuration Class เป็น Java ของเดิมเป็น XML ครับ
        • Java Style
          package com.debuggingsoft.HelloConsoleWorld.configuration;
          
          import org.springframework.context.annotation.Bean;
          import org.springframework.context.annotation.Configuration;
          import org.springframework.context.annotation.Description;
          
          import com.debuggingsoft.HelloConsoleWorld.domain.HelloConsoleWorld;
          import com.debuggingsoft.HelloConsoleWorld.domain.HelloConsoleWorldImpl;
          
          @Configuration
          public class HelloConsoleWorldConfig {
           
              @Bean(name="helloConsoleWorldBean")
              @Description("This is a sample HelloConsoleWorld Bean")
              public HelloConsoleWorld helloWorld() {
                  return new HelloConsoleWorldImpl();
              }
           
          }
          
        • XML Style
          
          
          	
          	
          
          
    • สร้าง Main เพื่อ run as Java Application
      • @Annotation Style
        package com.debuggingsoft.HelloConsoleWorld;
        
        import org.springframework.context.annotation.AnnotationConfigApplicationContext;
        import org.springframework.context.support.AbstractApplicationContext;
        
        import com.debuggingsoft.HelloConsoleWorld.configuration.HelloConsoleWorldConfig;
        import com.debuggingsoft.HelloConsoleWorld.domain.HelloConsoleWorld;
         
        public class AppMain {
         
            public static void main(String args[]) {
                AbstractApplicationContext context = new AnnotationConfigApplicationContext(HelloConsoleWorldConfig.class);
                HelloConsoleWorld bean = (HelloConsoleWorld) context.getBean("helloConsoleWorldBean");
                bean.sayHello("Spring 4.x Annotation by Chatri Ngambenchawong );
                context.close();
            }
         
        }
        
      • XML Config Style
        package com.debuggingsoft.HelloConsoleWorld;
        
        import org.springframework.context.support.AbstractApplicationContext;
        import org.springframework.context.support.ClassPathXmlApplicationContext;
        
        import com.debuggingsoft.HelloConsoleWorld.domain.HelloConsoleWorld;
         
        public class AppMain {
         
            public static void main(String args[]) {
                AbstractApplicationContext context = new ClassPathXmlApplicationContext("helloconsoleworld-config.xml");
                HelloConsoleWorld bean = (HelloConsoleWorld) context.getBean("helloConsoleWorldBean");
                bean.sayHello("Spring 4.x XML Config by Chatri Ngambenchawong");
                context.close();
            }
         
        }
        
  • ทดสอบ Run ครับ
    2016-05-22_121900-vert

จบแล้วครับ โดย Code ผมแปะไว้ใน Git ครับ (ได้มีโอกาสใช้สักที 555) หลายคนอาจจะงงว่า แต่ละอันที่ผมใช้ มัน คือ อะไร เดี๋ยวบทความตอนหน้า ผมอธิบายถึงแก่นของ Spring เท่าที่รู้ครับ


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.