เริ่มต้นกับ Spring Boot part 1 สร้าง project ใหม่

หลังจากห่างหายกับการเขียน blog ไปนาน รู้สึกดีใจครับ ที่ได้กลับมาเขียนอีก

โดยบทความนี้เป็นบทความแรกเกี่ยวกับ Spring Boot , Java Framework ที่ร้อนแรงในขณะนี้

แต่ก่อนจะเริ่มกับ Spring ฺBoot ผมขอใส่ความเห็นส่วนตัวของผมหลังจากที่ได้ทดลอง framework อื่นๆ ก่อนที่จะมาลงเอยกับ Spring Boot นะครับ

เริ่มต้นด้วยการศึกษา Grails Framework

ที่ position ตัวเองว่าคือ Rail ของ Java และเป็น framework ที่เขียนด้วยภาษา Groovy ที่เน้นความ dynamic, สั้น, productivity มีความ modern มากกว่า Java แต่ก็จะขาดความเป็น strongly typed ไป ความเห็นส่วนตัวผมชอบตัวภาษา Groovy มาก แต่ Grails ซึ่งเป็นตัว web framework กลับมี community ค่อนข้างน้อย ขาด document ที่เป็นประโยชน์อีกมาก

ในด้านที่ต้องใช้งานเชิงลึกหรือ extend ต่างๆ จึงทำได้ค่อนข้างยาก หลายส่วนยังเหมือนมี bug (ผมใช้ Grails 3)

ลองต่อกับ Django

เมื่อ Grails ยังตอบโจทย์ผมไม่ได้ ผมจึงหันไปลอง Django บ้าง ชอบภาษา Python ครับ แต่กลับไม่รู้สึกคุ้นชินกับ structure แนวทางต่างๆ ของ Django เลย โดยเฉพาะ URL routing ที่แปลกๆ

ลงเอยกับ Java และ Spring Boot

ด้วยเหตุนี้ ผมจึง back to basic คือ Java และ Spring Boot ซึ่งเป็น Project ย่อยใน Spring Project, เป็นการปรับแต่ง Spring MVC ให้ลดการ configuration ที่ยุ่งยาก เน้น productivity มากขึ้น

สิ่งที่ค้นพบคือ Spring Boot ได้รับการตอบรับจาก Community ดีมาก เนื่องจาก base ของ Spring Boot คือ Spring MVC มีมานานแล้ว บทความในด้านต่างๆ ที่เกี่ยวกับการใช้งานบาง feature การแก้ไขต่อยอดหาได้หมด

ด้วยเหตุนี้ ผมจึงเลือกใช้ Spring Boot มาตั้งแต่นั้น ลืมไปบอกนะครับว่า เราสามารถใช้ภาษา Groovy สร้าง Spring Boot ได้ด้วย แต่ผมมองในเรื่องการ maintain ทีมงานในอนาคต คิดว่ายังไง Java ก็ยังเป็นตัวเลือกที่น่าสนใจ

intro ไปเยอะแล้ว ลองมาเริ่ม code กับ Spring Boot เลยนะครับ ว่าการทำ web จะง่ายและสะดวกเพียงใด

สิ่งที่ต้องติดตั้งในเครื่องสำหรับตัวอย่างนี้

  • เครื่อง computer Windows, Mac, Linux ได้หมด ตัวอย่างนี้ผมใช้ Windows ครับ
  • Java 1.7 ขึ้นไป
  • Gradle 2.4 ขึ้นไป
  • IntelliJ IDEA ในตัวอย่างผมใช้ version 14 support Gradle แล้ว

หลังจากติดตั้งทุกอย่างไปแล้ว เริ่มทำตามขั้นตอนเหล่านี้ได้เลย

สร้างโปรเจคใหม่ขึ้นมา

เปิด IntelliJ IDEA ไปที่ File > New > Project เลือก Gradle project

image-1

ก่อนไป ผมขอต่ออธิบายให้ฟังแบบคร่าวๆ ก่อนนะครับ Gradle คือ build tool ของฝั่ง Java ช่วยในการ manage library พวก library ข้างนอกที่จะเอามาใช้ใน Project ของเรา รวมถือช่วยการสั่ง compile run project ให้ด้วย และเราสามารถเขียนคำสั่งเพิ่มเติม เช่นจัดการ ลบแก้ไข file ใน project หรืออื่นๆ ก็ได้ครับ build tool อื่นๆ ใน Java ก็คือ Ant, Maven เป็นต้น แต่ข้อดีของ Gradle คือ คำสั่งที่เขียนลงไปเป็นภาษา Groovy เลยครับ แน่นอนว่าสะดวกเวลาจะเขียนคำสั่งเพิ่มเติม แตกต่างจาก Ant และ Maven ที่เป็น XML เวลาจะเพิ่มความสามารถก็ต้องกลับไปเขียน Java และปรับ API ให้เรียกใช้ผ่าน XML ได้ เพราะเวลา config Ant กับ Maven ต้องใช้ XML ครับ อีกทั้ง Android project ก็ใช้ Gradle ด้วย ผมจึงคิดว่ามีประโยชน์มากๆ หากเราจะศึกษา build tool ตัวนี้ไว้ด้วยครับ

ในหน้าต่างถัดไป

  • แก้ไข GroupId เป็น com.codesanook.springclinic
  • ArtifactId เป็น spring-clinic

image-2

ปรับ option อื่นๆ ของ Gradle

image-3

แก้ไขชื่อของ project และที่เก็บ file ในตัวอย่างผมใช้ชื่อ Project Name ที่ IDE กำหนดมาให้จากค่า ArtifectId และเก็บ file ลง drive d ในเครือง แต่เราสามารถปรับแต่งที่เก็บ project file ได้ตามใจชอบเลยครับ click กด Finish

image-4

หน้าตาเต็มๆ ของ IDE จะปรากฏข้นมา สังเกตด้านขวามือของหน้าจอ จะหน้าต่างนี้มีชื่อว่า Project window ที่แสดงโครงสร้าง file ต่างๆ ใน project ครับ

หาก Project window ไม่แสดงขึ้นมา ให้กดปุ่ม shortcut alt + 1

image-5

จบ part นี้ไปก่อนนะครับ แล้วเจอกัน part หน้านะครับ สามารถแสดงความเห็นกันได้เลยนะครับ

Thanks and happy coding.

download source code

https://github.com/codesanook/spring-clinic