วันพุธที่ 21 กันยายน พ.ศ. 2554

ขี่จิงโจ้ รอบที่ 2 -- โชว์ขั้นตอนการสร้างเวปอย่างง่าย

ทีนี้เราจะมาดูขั้นตอนการสร้างเวปใน 5 นาทีกันนะคะ กับ 14 command line ที่ให้ไว้เมื่อรอบที่แล้ว
สำหรับรูปที่จะนำมาโชว์เนี่ย จะเป็นรูปจากการพัฒนาบน Spring Source Tool Suite  (STS) นะคะ ซึ่งก็คือ eclipse เวอร์ชันสำหรับ Spring นั่นเองค่ะ

สำหรับใครที่ยังไม่มีอุปกรณ์ในการขับขี่เจ้า Roo ก็อย่าลืมไปโหลดมาไว้ในเครื่องนะคะ ก็มี 5 อย่าง คือ

  1. Java 6 JDK
  2. Apache Maven
  3. Spring Roo
  4. Spring Source Tool Suite (STS)
  5. Database Management Tool (ในที่นี้ใช้ Microsoft SQL Server 2008 นะคะ)
สำหรับ STS จะไม่ใช้ก็ได้ค่ะ เพราะเราสามารถใช้ command line ของเจ้า Roo ผ่านหน้า Dos ดำๆก็ได้ แล้วก็ค่อย export มันเพื่อไปใช้กับ eclipse อีกทีก็ได้ค่ะ แต่ถ้าจะให้ดี แนะนำว่ามีดีกว่า เพราะมันครบเครื่องกว่าเยอะค่ะ อิๆๆ เมื่อพร้อมแล้วเราก็มาจัดการใช้งานเจ้า Roo กันได้เลยค่ะ

เริ่มจากการสร้าง Roo project ใน STS




พอสร้างเสร็จก็จะมี Roo shell ขึ้นมาให้เราใช้ command line กันได้แบบนี้


จากรอบที่แล้ว ให้ command line ไว้ 14 คำสั่งใช่มั้ยคะ ซึ่งคำสั่งแรกจะเป็นการสร้างโปรเจคค่ะ ดังนั้น เราก็ตัดออกไปได้เลย ทีนี้เราจะมาจัดการกับ 13 คำสั่งที่เหลือแทนค่ะ

persistence setup เป็นคำสั่่งในการสร้างตัวกำหนดเงื่อนไขการติดต่อฐานข้อมูลนะคะ ในที่นี้เราเลือกติดต่อกับ Microsoft SQL Server ค่ะ ก็จะเห็นว่าเป็น MSSQL
และเราก็เปิดไฟล์ database.properties มาแก้ไขรายละเอียดในการติดต่อกับฐานข้อมูลกันค่ะ

เมื่อเราใช้คำสั่ง entity --class ก็จะเป็นการสร้างคลาสใหม่ ซึ่งตอนนี้เราสร้างคลาส ExpenseCategory ก่อนนะคะ
เมื่อสร้างคลาสเสร็จเราก็ใช้คำสั่ง field สร้างตัวแปรเพื่อเก็บข้อมูลชื่อของหมวดหมู่รายการที่จ่าย ชื่อ name เป็นชนิด string จากสองคำสั่งนี้จะเห็นว่า เจ้า Roo สร้างไฟล์ .java ที่เป็นคลาสให้กับเราและมีตัวแปรตามที่เรากำหนดไว้นะคะ
เช่นเดียวกันค่ะ เราก็ทำกับตารางเก็บข้อมูลรายจ่ายบ้าง ก็สร้างคลาส RecordExpenses ด้วยคำสั่ง entity --class และสร้างตัวแปรด้วยคำสั่ง field ซึ่งก็จะเห็นว่าชนิดของตัวแปรแตกต่างกัน มีทั้ง String , number ส่วน reference นั่นคือการบอกว่าตัวแปรนี้อ้างอิงกับคลาสอีกคลาสนึง (ซึ่งก็คือ ExpenseCategory)
นี่คือรูปร่างหน้าตาของคลาสที่สร้างขึ้นมาโดยอัตโนมัติ ด้วยฝีมือเจ้า Roo ค่ะ
เมื่อเรามีคลาสและตัวแปรไว้ใช้รองรับการเก็บข้อมูลแล้ว เราก็จะมาสร้างหน้าเวปกับส่วนคอนโทรลกันค่ะ ด้วยคำสั่ง controller ซึ่งในที่นี้เราใช้ all เพื่อจะบอกว่าให้สร้างเวปสำหรับทุกคลาสเลยค่ะ
เพิ่มระบบความปลอดภัยนิดนึงด้วยการใช้คำสั่ง security setup ก็จะทำให้เราได้หน้า login เพิ่มขึ้นมา และนอกจากนี้เรายังกำหนดได้ด้วยนะคะว่าจะให้ผู้ใช้คนไหนมีสิทธิได้เท่าไหร่ เข้าหน้าเวปไหนได้บ้าง ด้วยการกำหนดที่ path ที่ไปยัง controller ต่างๆค่ะ แก้ไขได้ที่ไฟล์ applicationContext-security.xml
หลังจากนั้นก็ใช้คำสั่ง perform tests เพื่อสร้างคลาส test และทดลอง build นะคะ ถ้าเรียบร้อยดีแล้วเราก็มาดูผลงานกันได้เลยค่ะ
อันนี้เป็นหน้าแรกของเวปนะคะ 
ทดลองเพิ่มหมวดหมู่รายการที่ซื้อซักหน่อย
วันนี้กินผัดไทยหมูแดง อร๊อยอร่อย ราคา 30 บาทเอง ต้องบันทึกซักหน่อยแล้วล่ะ

แสดงรายละเอียดได้ครบถ้วน และถูกต้อง เก่งมากเจ้า Roo
ถึงตรงนี้ ถ้าดูจากรูปอาจจะสงสัยว่าเอ๊ะ แล้วหน้า login หายไปไหนล่ะ แล้วทำไม category ถึงไม่แสดงแต่ชื่อหมวดหมู่ว่า อาหาร จะโชว์ id กับ version ทำไม 

อย่าเพิ่งใจร้อนนะคะ ไว้ครั้งหน้าเราจะมาดูกันว่า การปรับเปลี่ยนจากหน้าเวปที่ได้มาพื้นฐานแบบนี้ จะให้เป็นตามใจฉันอีกที ต้องทำอะไรตรงไหนบ้าง
สำหรับวันนี้ไปนอนก่อนแล้วค่ะ ง่วงมากมาย ฝันดีนะคะ :)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น