วันเสาร์ที่ 6 มิถุนายน พ.ศ. 2558

Spring Boot ตอนที่ 2 Hello World

ต่อไปเรามาลองสร้าง Hello World โดยใช้ Spring Boot กันครับ ตัว Spring Boot ใช้ Servlet 3.0 เพราะฉะนั้นจะไม่มี web.xml แล้วนะครับ

1. Config Maven ด้วย
 
<properties>  
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
   <java.version>1.7</java.version>  
   <start-class>tutorial.spring4.StandAloneApp</start-class>  
</properties>  

<parent>  
   <groupId>org.springframework.boot</groupId>  
   <artifactId>spring-boot-starter-parent</artifactId>  
   <version>1.2.4.RELEASE</version>  
 </parent>  


 <dependencies>  
   <dependency>  
     <groupId>org.springframework.boot</groupId>  
     <artifactId>spring-boot-starter-web</artifactId>  
   </dependency>  
 </dependencies>  
     - Properties จะเป็นส่วนบอก Spring Boot ว่าทำงานอย่างไร
          - project.build.sourceEncoding บอกว่า source code ใช้ encoding อะไร
          - java.version บอกว่าจะใช้ Java Version อะไร
          - start-class คลาสที่จะให้รัน Initialize ขึ้นมา จาก Config หมายถึงจะวิ่งไปอ่าน StandAlone มาเพื่อรัน Spring ครับ

2.เราก็สร้าง Class StandAlone ใน package tutorial.spring4
 @SpringBootApplication  
 public class StandAloneApp extends SpringBootServletInitializer {  
      public static void main(String[] args) {  
           SpringApplication.run(StandAloneApp.class);  
      }  
 }  


     - @SpringBootApplication คือกรรวมกันของ 3 อย่าง @Configuration, @EnableConfiguration, @ComponentScan
     - extends SpringBootServletInitializer ถ้ารันด้วยตัว SpringBoot เองไม่ต้องใส่ก็ได้ครับ แต่ถ้าไปรันบน Server จะต้องใส่ไว้
     - SpringApplication.run(StandAloneApp.class) สั่งรันทำงาน จาก start-class

3. ต่อไปก็สร้าง Controller สำหรับรันได้เลยครับ โดย Class ทุกอย่างต้องอยู่ระดับที่ต่อจาก StandAloneApp คือหลังจาก tutorial.spring4
 @Controller  
 public class SampleController {  
   @RequestMapping("/")  
   @ResponseBody  
   String home() {  
     return "Hello World!";  
   }  
 }  

4. สั่งร้นได้จากตัว jar ได้เลยครับ โดย
     - mvn package ก่อน
     - java -jar target/xxx.jar รัน app ที่สร้างขึ้นมา

References
Basic
1. Spring Boot ตอนที่ 1 มาทำความรู้จักกับ Spring Boot
2. Spring Boot ตอนที่ 2 Hello World
3. Spring Boot ตอนที่ 3 โครงสร้างของ Project
4. Spring Boot ตอนที่ 4 Spring Boot กับ Thymeleaf
5.Spring Boot ตอนที่ 5 Spring Boot กับ Database [แบบ Embeded]
6.Spring Boot ตอนที่ 6 กับ Production Database
7.Spring Boot ตอนที่ 7 Security
8.Spring Boot ตอนที่ 8 Testing

2 comments:

Sarunyoo Keawsopa กล่าวว่า...

สอบถามเพิ่มเติมหนอ่ยครับ ถ้าเราทำเป็น Web App แล้วบอกว่า สามารถ รัน standalone ได้นี้ ถ้าเป็นระบบระดับกลาง ๆ นี้จะเหมาะไหมครับ

และถ้าเราต้องการจัดการ resource อื่น ๆ นี้มีการจัดการ เหมือนทั่วไปหรือเปล่าครับ
เพราะเคยแต่เอาพวก JSP , JSTL , EL , CSS , JS , Image ไว้ ภายใต้ WebContent ครับ

แนะนำแนวทางหนอ่ยครับ

Naphachara Rattanwilai กล่าวว่า...

@Sarunyoo ได้ครับ เพราะสามารถรันเป็น Jar File ได้เลย ใช้ Concept Micro Service น่ะครับ ส่วนจะย้ายไปใช้ใน WebCntent ก็ได้แต่ต้องไปเพิ่มใน application.properties ครับ บอกได้ว่าให้ไปอ่านที่ไหน