วันพุธที่ 25 พฤษภาคม พ.ศ. 2554

Basic Spring Roo

มาเขียน Application กับ Spring Roo กัน
เรามาเริ่มเข้าใจกันก่อนว่า Spring Roo คืออะไรครับ
หยิบประโยคมาให้อ่านเลย

"Spring Roo is a next-generation rapid application development tool for Java developers."

ซึ่ง Spring Roo จะคล้ายๆ กับ Grails ตรงที่ว่าเราสามารถสร้าง Project ที่พร้อมใช้งาน CRUD ได้เลยในเวลาไม่นาน เพราะทุกอย่างจะ Mapping มาให้ใน Code เลย เราเพียงแค่ใช้ Command สร้างมันเท่านั้น

ทำให้ใช้งานกันได้ก่อนครับ
1. Download Spring Roo จาก http://www.springsource.com/download/community
2. Spring Roo ใช้ JDK6, Maven ให้โหลดมาใช้งาน และ Config Classpath, Path สำหรับ JDK, Maven ด้วยครับ (ควรจะมีพื้นฐานการใช้งาน maven)
3. Config Path โดยไปที่ roo/bin ครับ จะสามารถรันขึ้นมาใช้งานได้ จะได้หน้าตาแบบนี้




ต่อไปเรามาสร้าง Project โดยใช้ Roo กัน
1. สั่ง Roo เลย จะเข้าหน้าสำหรับ command line ซึ่ง Roo เวอร์ชั่นใหม่ (ตอนเขียนบล็อกนี้ใช้ 1.1.3) เราสามารถใช้ hint สำหรับบอกเราว่าลืมสร้างอะไรต้องทำอะไรก่อนบ้าง และมีการใช้งาน tab ในกรณีที่เราลืมคำสั่ง tab ไปจะขึ้นชื่อให้ น่ะครับ

หน้าตัวอย่าง hint

2. ถ้าดูจาก hint จะเห็ฯว่าเรายังไม่ได้สร้าง Project ขึ้น จะเห็นว่า ต้อง พิมพ์ project --topLevelPackage ชื่อ package พอทำเสร็จแล้ว roo จะสร้างไฟล์สำหรับเป็น Project ขึ้นมาซึ่งจะใช้ maven เป็นหลักน่ะครับ (ควรจะมีความรู้ maven บ้าง)



3. ต่อไปมาสร้างส่วนติดต่อฐานข้อมูล (สามารถ hint ดูได้จะบอกว่าให้สร้าง persistence น่ะครับ) จะเห็นว่า จะมีให้เลือกใช้ technology อะไร แล้วก็เลือกว่าจะใช้ฐานข้อมูลอะไร พอเลือกเสร็จ roo จะทำการเพิ่ม config ลงในส่วนของ maven (pom.xml) แล้วพวก persistence file



4. ต่อไปเรามาสร้าง Entity ขึ้นมา หรือจะสร้างบน IDE ก็ได้ (ลอง hint ดูได้จะมีขึ้นคำอธิบายเลยครับ ง่ายดีไหม) พอเลือกสร้าง (entity --class className) ตัวอย่าง entity --class ~.domain.Test



5. พอสร้างเสร็จแล้วเราก็มาสร้าง field ของ domain นั้นขึ้นมา โดยพิมพ์ field แล้วลอง tab ดูครับ ว่าอยา่ได้ ตามตัวอย่างผมสร้าง field firstName เป็น String Type




6. พอลองแล้ว มาสร้าง controller ต่อกันครับ โดย controller --class ~.web สร้างแบบนี้จะได้ CRUD (Create-Read-Update-Delete) ให้เลยน่ะครับ ที่ทำการ map กับ domain แล้ว



7. พอสร้างเสร็จทำงานได้แล้ว ถ้าเราอยาก run test ไว้ด้วยก็มี perform test แล้วระบบจะรัน (จะมี load jar สำหรับ test มา)
8. ถ้าเราอยากไปใช้งานบน eclipse สามารถรัน perform eclipse ได้เลยครับ Root ๗ะสร้าง project ให้สามารถใช้ได้บน eclipse (โดยการ Import project ก็ใช้งานได้เลย) พอกด enter เดินไปกินข้าวได้เลยครับ นานๆ
9. พิมพ์ exit ออกมษจาก Roo ได้เลยครับ
10. รันเทสได้จาก mvn tomcat:run ครับ (รัน post 8080 ถ้าใช้อยู๋จะรันไม่ขึ้นครับ) เราจะได้หน้าตาแบบนี้มาครับ