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

spring-boot-logo

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

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

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

updated#2
ตอนนี้ผมกำลังทำ video ลง youtube อยู่ครับ

ลงมือ

  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

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

    1. ขอบคุณที่รอติดตามครับผม ช่วงนี้ปั่นงานอยู่ครับ T_T

      คาดว่ากลางเดือนนี้จะได้อัดคลิปต่อแล้วครับ

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