Spring Boot คืออะไร ต่างจาก Spring Framework ยังไง
ย้อนกลับไปราวๆ 10 กว่าปีที่แล้ว ........ นานมาก 55+
Spring framework มักจะถูกเอามาเปรียบเทียบกับ EJB ( Enterprise Java Bean)
เพราะ Spring framework ถือว่าเป็น Lightweight J2EE framework เมื่อเทียบกับ
EJB ที่ถูกมองว่าเป็น Heavyweight ในแง่ของ Feature ต่างๆรวมทั้งความยากในการ Develop ด้วยเช่นกัน
นับจากนั้น Spring framework ก็โด่งดังและถูกใช้งานมาอย่างแพร่หลายในหมู่นักพัฒนา Software สาย Java Enterprise
ด้วย Feature ที่โดดเด่นไม่ว่าจะเป็น Dependency Injection , Aspect Oriented Programming (AOP)
รวมถึงความง่ายในการใช้งาน Plain Old Java Objects (POJO) ที่เป็น Java Bean ธรรมดาๆ ที่ Java Developer อย่างเราๆคุ้นเคยกันดี
แต่ถึงกระนั้นเมื่อเวลาผ่านไปตัว Spring framework เองก็เริ่มถูกมองว่าเป็น Heavyweight แล้วเหมือนกันเพราะการที่ต้อง Config XML ต่างๆเยอะแยะมากมาย ถึงแม้ใน Version ใหม่ๆ Spring framework จะเริ่มมีการนำ annotation-based มาใช้เพื่อให้สามารถ ทำ Java-based configuration มาแทรกใน Java Code แทนแต่ก็ยังมีเสียงบ่นว่ามีความยุ่งยากในการ Develop อยู่ดี T_T
เอาล่ะในที่สุดย้อนไปเมื่อ 4 ปีก่อนก็ถึงคราวของพระเอกขี่ม้าขาวอย่าง Spring Boot เกิดขึ้นมา
ตามเสียงเรียกร้องของเหล่า Developer สาวก Spring Framework ที่ต้องการให้พวกเขาสามารถ Build Project Spring framework ได้ง่ายขึ้นนั่นเอง
ง่ายขนาดใหนมาดู Feature คร่าวๆกัน
- Embed Container นั่นคือพ่วง Tomcat , Jetty ติดมาให้เลย
- Stand alone mode ที่ง่ายมากๆ สามารถสร้าง main method เพื่อ Test ได้สะดวกมากขึ้น
จากแต่ก่อนที่เราต้อง Load ทุกอย่างผ่าน Container ทำให้การ Test แบบ Stand alone นั้นยุ่งยากมาก
- มี POM starter ที่ทำให้เราหมดปัญหาเรื่อง lib dependency ต่างๆ
- Auto configuration อันนี้เด็ดเรียกได้ว่าการจะ สร้าง Spring Framework Project ด้วย Spring Boot นั้นง่ายขึ้นมาก
- Feature ต่างๆ ที่พ่วงมาอยากครบครัน ไม่ว่าจะเป็น Monitoring tools ต่างๆ
เอาล่ะครับพูดมาซะยาวขอสรุปสั้นๆ ว่า Spring Boot คือตัวที่ทำให้ชาวเราเหล่า Developer สามารถสร้างสรรค์ผลงานงานด้วย
Spring Framework ได้ง่ายขึ้นนั่นเอง
แต่... ขอบอกว่านั่นมันแค่จุดเรืิ่มต้นเท่านั้นนะ ถึงตอนนี้ Spring Boot 2.0 มันไม่ใช่แค่นั้นแต่มันได้พ่วง Feature เทพๆ มากมายติดมาด้วยถ้าหากเพื่อนๆ สนใจไว้มีเวลาเดี๋ยวจะมาเล่าให้ฟังนะ