Spring boot ตอนที่ 1 – Setup Environment

spring-boot-logo

เนื่องจากช่วงนี้ต้องสอน spring boot บ่อย ก็เลยเอามาเขียนบล็อกเก็บไว้ดีกว่า หากจะถามว่าอะไรคือ spring boot เอาความหมายแบบง่ายๆ คือการเขียนเว็บด้วย spring framework ในรูปแบบที่ไม่ต้องวุ่นวายกับการ config ค่าต่างๆ เอาแค่นี้ไปก่อนครับ ต่อเครื่องมือที่ผมใช้มีดังนี้

การพัฒนาผมอ้างอิงบน Windows นะครับ

updated
รวมลิงก์ของทุกตอนครับ

ลงมือ

  1. โหลดมาให้ครบเริ่มจากลง JDK ก่อน
  2. แตก zip แล้วเปิด Spring Tool Suite (ต่อไปผมจะเรียกว่า STS) แล้วเปิดไฟล์ sts.exe ขึ้นมา แล้วปิดหน้าต่าง Dashboard ทิ้งไป (จะปิดหมดเลยก็ได้นะครับ เหลือไว้แค่ Package Explorer ก็พอ)1-stsปล. เนื่องจาก Spring boot จะทำการโหลด Library ที่จำเป็นต้องใช้มาเก็บไว้ที่ Drive C:\ หากใครมีพื้นที่ไม่พอ จะต้องทำการเปลี่ยนตำแหน่งเก็บ Library ใหม่ ให้ทำการ copy โค้ดด้านล่างนี้ไป save เป็นไฟล์ชื่อ settings.xml แล้วเอาไปวางไว้ซักที่
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository>D:/m2/</localRepository>
    
    </settings>
    

    จากนั้นกลับไปที่ STS แล้วเลือกเมนู Window -> Preferences แล้วไปที่ Maven -> User Settings แล้วเลือกไฟล์ตรง User Settings แล้วกด Apply ก็จะปรากฏ Local Repository ที่เรากำหนดไว้แล้ว

    2-maven-repo

  3. เลือกเมนู File -> New -> Spring Starter Project2-new-project
  4. ตั้งชื่อโปรเจคหน้าตาประมาณนี้ ใครคุ้นเคยกับ Maven คงได้เปรียบ ส่วนใครไม่คุ้นก็พยายามลอกไปก่อนครับ จุดหลักอยู่ที่ Type ผมใช้ Maven นะครับ ถ้าท่านถนัดอย่างอื่นก็แล้วแต่ ผมถนัด Maven ก็เลยเลือกสอนแบบ Maven และอีกหนึ่งอย่างที่จำเป็นคือ Packing เลือกเป็น War เนื่องจากผมต้องการสร้างเว็บด้วย JSP แล้ว export เป็น WAR เพื่อไปรันบน Web server3-new-1
  5. เลือก technology ของ spring ดังนี้ แล้วก็กดปุ่ม Finish2-select-tech
  6. เมื่อกด Finish ตัว STS จะทำการ Download Library จำเป็นมาเก็บไว้ ซึ่งใช้เวลานานมากขึ้นกับความเร็ว Internet ที่ใช้ ดังนั้นในระหว่างนี้ก็ให้ทำการติดตั้ง MySQL ซึ่งผมไม่ขออธิบาย เนื่องจากมีในเน็ตทั่วไปแล้ว 7-mysql
  7. เมื่อ Spring boot ทำการ Download เสร็จแล้วก็จะปรากฏ Project ขึ้นมาตรงหน้าต่าง Package Explorer ดังรูป ซึ่งต้องไม่มีกากบาทสีแดงปรากฏตรงชื่อโปรเจค ซึ่งถ้ามีอาจจะเกิดปัญหาระหว่างการ Download เช่นเน็ตหลุดแล้ว Library ไม่ครบ ให้ทำการ คลิกขวาที่ชื่อโปรเจคแล้วเลือก Maven -> Update Project… แล้วทำเครื่องหมายถูกตรง Force Update จากนั้นกดปุ่ม OK ก็จะเริ่มกระบวนการ Download อีกครั้ง4-update-mavenหรือใช้เน็ตที่ทำงานแล้วติดปัญหาเรื่อง Firewall (คู่ปรับตลอดการของ Maven) ต้องทำการตั้งค่า Firewall ให้กับ Maven ด้วยนะครับ อันนี้ต้องหาจาก Internet หล่ะครับ ผมไม่ขออธิบายในนี้
  8. เปิดไฟล์ pom.xml ขึ้นมา แล้วเพิ่มคำสั่งนี้ไว้บรรทัดก่อนจะถึง
    <dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
    </dependency>
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    </dependency>
    

    สาเหตุที่ต้องเพิ่ม Library สองอันนี้เข้ามา เนื่องจากว่า Spring boot ไม่จำเป็นต้องรันบน Web server มันจะสามารถ Run เป็น Jar ได้ (จำได้หรือเปล่าที่ตอนเราเลือก Packaging เป็น WAR) ดังนั้นเราจึงต้องเพิ่มเพื่อให้มันรู้จัก servlet/jsp นั่นเอง

  9. ขั้นตอนสุดท้ายเราจะทดสอบว่ามันสามารถรันได้หรือเปล่า โดยคลิกขวาที่ชื่อโปรเจคแล้วเลือก Run As -> Spring Boot App จากนั้นก็รอให้ Spring boot ทำการดาวโหลด Library ที่จำเป็นเพิ่มเติม แล้วรอจนกว่าจะปรากฏข้อความดังรูป โดยไม่มีข้อความที่เป็น Error ก่อนหน้านี้ด้วย ก็ถือว่าคุณผ่านเข้ารอบต่อไปแล้วครับ 6-first-start

ขอจบตอนที่หนึ่งไว้แต่เพียงเท่านี้ก่อนหล่ะกัน กว่าจะ Set ให้มันทำงานได้ก็เรียกว่าเหนื่อยแล้ว

Advertisements

5 thoughts on “Spring boot ตอนที่ 1 – Setup Environment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s