ในโลกที่หมุนไปอย่างรวดเร็วในปัจจุบันเราต้องการให้ทุกอย่างเป็นไปอย่างรวดเร็ว เราไม่ต้องการให้ตัวเองหมกมุ่นอยู่กับงานชิ้นเดียวนานเกินไปปล่อยให้มันเป็นอะไรก็ได้เช่นท่องเที่ยวช็อปปิ้งเรียนหรือทำงาน เมื่อพูดถึงการเข้ารหัสเราต้องการให้แอปพลิเคชันของเราได้รับการพัฒนาในระยะเวลาสั้นที่สุด แต่ให้ประสิทธิภาพเต็มที่ เราอาจจะรีบร้อน แต่ถึงกระนั้นเราก็ไม่สามารถประนีประนอมกับคุณภาพของเราได้หรือไม่ต้องการใช้ความพยายามมากเกินไป แล้วทางออกคืออะไร? เฟรมเวิร์กทำงานได้ดีที่สุดในสถานการณ์นี้ มี Framework ต่างๆวางจำหน่ายในตลาดซึ่งมีไม่กี่ตัวที่ใช้เช่น Spring, Hibernate, Struts เป็นต้นในบล็อกนี้เรามาดูกันว่า Spring Framework คืออะไรและทำไมจึงเป็นที่นิยมในตลาด!
ก่อนที่จะเริ่มลองดูหัวข้อที่ฉันจะพูดคุยในบล็อกนี้:
Java Frameworks
ทำไมเราควรเลือกใช้ Frameworks?มาดูกันทำความเข้าใจกับเพื่อนของเรา Coddy .
Coddy ได้รับมอบหมายงานให้พัฒนาแอปพลิเคชัน แต่เวลาที่ได้รับมอบหมายไม่เพียงพอที่จะทำให้เสร็จ เขาต้องเขียนโค้ดหลายบรรทัด (LOC) ด้วยตัวเอง ใช้เวลานานและเหนื่อยมาก เขากำลังสับสนว่าควรทำอย่างไร! เขาควรเริ่มจากจุดไหน!
Coddy เริ่มคิดหาวิธีแก้ปัญหาของเขา เขาต้องการสิ่งที่รวดเร็วและมีประสิทธิภาพช่วยประหยัดเวลาและความพยายามเช่นของสำเร็จรูป
ประเภทการแปลงใน c ++
ทันใดนั้นแนวคิดในการใช้ Frameworks ก็ทำให้เขาสะดุด เฟรมเวิร์กรวดเร็วมีประสิทธิภาพและน้ำหนักเบา เป็นโค้ดที่กำหนดไว้ล่วงหน้าขนาดใหญ่ซึ่งเราสามารถเพิ่มลงในโค้ดของเราเองได้อย่างง่ายดายเพื่อแก้ปัญหาเฉพาะ
เขาเขียนโค้ดโดยใช้ Framework น่าแปลกใจที่โค้ดติดตั้งกับเฟรมเวิร์กได้อย่างง่ายดาย
Coddy ตอนนี้สามารถเขียนโค้ดได้เร็วขึ้นและกรอกใบสมัครภายในกรอบเวลาที่กำหนด ยิ่งไปกว่านั้นเขาเป็นอิสระจากการเขียนโค้ดที่ไม่สามารถใช้งานได้หลายพันบรรทัด
หลังจากปรับใช้แอพพลิเคชั่นที่พัฒนาโดยใช้ Framework เขาพบว่ามันทำงานด้วยความเร็วที่สูงขึ้นมากและปริมาณงานก็เพิ่มขึ้นเมื่อเทียบกับแอพพลิเคชั่นอื่น ๆ ที่พัฒนาโดยไม่ใช้ Framework
ดังนั้นเริ่มต้นด้วย Java Frameworks
Java Frameworks เข้ามามีอยู่ได้อย่างไร?
ปลายปี 1990 แอปพลิเคชันได้รับการพัฒนาอย่างกว้างขวางโดยใช้มาตรฐาน JEE หลักฐานของ J2EE คือหลายแพลตฟอร์ม / ผู้ขายหลายรายหากคุณสามารถเขียนโค้ดตามมาตรฐาน J2EE คุณสามารถปรับใช้แอปพลิเคชันของคุณบนแอปพลิเคชันเซิร์ฟเวอร์ J2EE ใดก็ได้โดยไม่คำนึงถึงแพลตฟอร์ม การรันโค้ดของคุณบนแอพพลิเคชั่นเซิร์ฟเวอร์ให้คุณได้รับประโยชน์มากมายเช่น - การจัดการธุรกรรมการส่งข้อความการส่งเมลอินเทอร์เฟซไดเร็กทอรี ฯลฯ แต่เนื่องจากไม่มีอะไรง่ายในโลกนี้การทำงานกับ J2EE ก็มีปัญหาเช่นกัน
- มากซับซ้อน : Enterprise Java Bean ได้รับการพัฒนาเพื่อลดความซับซ้อนในแอปพลิเคชัน J2EE แต่ไม่ประสบความสำเร็จตามจุดมุ่งหมายในการนำไปใช้งาน เหตุผลเบื้องหลังคือในขณะที่เขียนคอมโพเนนต์จำเป็นต้องเขียนชุดของไฟล์ XML อินเตอร์เฟสภายในบ้านอินเทอร์เฟซระยะไกล / โลคัล ฯลฯ
- ปัญหา 'ค้นหา': เมื่อใดก็ตามที่ส่วนประกอบขึ้นอยู่กับส่วนประกอบอื่นก็ต้องค้นหาส่วนประกอบที่ขึ้นอยู่กับตัวมันเอง คอมโพเนนต์ 'การค้นหา' เกิดขึ้นโดยใช้ชื่อเท่านั้นดังนั้นชื่อของการอ้างอิงจึงได้รับการฮาร์ดโค้ดในองค์ประกอบ
- น้ำหนักมาก: ในฐานะที่เป็นรองรับคุณสมบัติต่างๆเช่นการทำคลัสเตอร์การรีบูตและอื่น ๆ คุณต้องกำหนดค่าไม่ว่าคุณจะต้องการหรือไม่ก็ตาม วิธีนี้จะทำให้แอปพลิเคชันของคุณป่อง
นี่คือวิธีที่ Java Frameworks เกิดขึ้น Java Frameworks ไม่ใช่แค่ส่วนใหญ่ของโค้ดที่กำหนดไว้ล่วงหน้าซึ่งคุณสามารถใช้กับโค้ดของคุณเองเพื่อแก้ปัญหาของคุณในโดเมนเฉพาะ คุณสามารถใช้เฟรมเวิร์กโดยเรียกใช้เมธอดการสืบทอดโดยการให้ 'การเรียกกลับ' ผู้ฟังหรือการใช้งานอื่น ๆ ของ ผู้สังเกตการณ์ รูปแบบ
มาทำความเข้าใจผ่านการแสดงภาพ:
แต่มันลดงานของเราและทำให้โค้ดของเรามีประสิทธิภาพได้อย่างไร? เพื่อทำความเข้าใจให้ดำเนินการดังต่อไปนี้ ข้อดีและข้อเสียของกรอบเหล่านี้ เริ่มต้นด้วย ข้อดี .
ประสิทธิภาพ:
งานที่โดยทั่วไปจะใช้เวลาหลายชั่วโมงและโค้ดหลายร้อยบรรทัดในการเขียนตอนนี้สามารถทำได้ภายในไม่กี่นาทีด้วยฟังก์ชันที่สร้างไว้ล่วงหน้า การพัฒนาจะง่ายขึ้นมากดังนั้นถ้าง่ายกว่ามากก็เร็วขึ้นมากและมีประสิทธิภาพมากขึ้นในเวลาต่อมา
ความปลอดภัย:
เฟรมเวิร์กที่ใช้กันอย่างแพร่หลายมักจะมีขนาดใหญ่ความปลอดภัยแอปพลิเคชัน ประโยชน์ที่ยิ่งใหญ่คือย่านที่อยู่เบื้องหลังเฟรมเวิร์กนั้นซึ่งผู้ใช้มักจะเป็นผู้ทดสอบที่ยาวนาน หากคุณพบช่องโหว่หรือช่องโหว่ด้านความปลอดภัยคุณสามารถไปที่เว็บไซต์ของเฟรมเวิร์กและแจ้งให้พวกเขาทราบเพื่อทำการแก้ไข
ค่าใช้จ่าย:
โครงสร้างยอดนิยมส่วนใหญ่ให้บริการฟรีดังนั้นจึงช่วยให้นักพัฒนาเขียนโค้ดได้เร็วขึ้น หากการเข้ารหัสทำได้เร็วขึ้นค่าใช้จ่ายสำหรับไคลเอนต์ขั้นสุดท้ายจะน้อยลงอย่างแน่นอนในทุกๆด้านไม่ว่าจะเป็นเวลาหรือความพยายาม นอกจากนี้ค่าบำรุงรักษายังต่ำอีกด้วย
java วิธีออกจากโปรแกรม
สนับสนุน:
ในฐานะที่เป็นเครื่องมือแบบกระจายอื่น ๆ กรอบงานโดยทั่วไปจะรวมถึงเอกสารกลุ่มสนับสนุนหรือฟอรัมออนไลน์ของชุมชนขนาดใหญ่ที่คุณสามารถรับคำตอบได้อย่างรวดเร็ว
แม้จะมีข้อดีเหล่านี้ Java Frameworks ก็มีอยู่บ้าง ข้อเสีย , ชอบ:
ข้อ จำกัด:
พฤติกรรมพื้นฐานของเฟรมเวิร์กไม่สามารถเปลี่ยนแปลงได้ซึ่งบ่งชี้ว่าเมื่อคุณใช้เฟรมเวิร์กคุณจะต้องเคารพข้อ จำกัด ของเฟรมเวิร์กและทำงานตามที่ต้องการ ดังนั้นคุณต้องแน่ใจว่าคุณเลือกกรอบงานที่เหมาะกับความต้องการของคุณ
รหัสเป็นสาธารณะ:
เนื่องจากทุกคนพร้อมใช้งานเฟรมเวิร์ก iนอกจากนี้ยังเสนอให้กับผู้ที่มีเจตนาไม่ดี สามารถศึกษาเพื่อให้ทราบว่าสิ่งต่างๆทำงานอย่างไรและค้นพบข้อบกพร่องที่สามารถนำมาใช้กับคุณได้
กำหนดเอง คุณสมบัติ:
เมื่อคุณใช้ประโยชน์จากเฟรมเวิร์กคุณจะรู้เกี่ยวกับภาษาที่อยู่เบื้องหลังมันน้อยมากเนื่องจากคุณสมบัติในนั้นสร้างขึ้นเองเมื่อคุณใช้คุณลักษณะที่สร้างขึ้นเองมีโอกาสมากที่คุณจะต้องใช้คุณสมบัติเหล่านี้ตามมาตรฐานของกรอบงานซึ่งอาจแตกต่างจากแนวคิดดั้งเดิม
ตอนนี้ที่คุณรู้ข้อดีและข้อเสียของกรอบเลือกกรอบงานของคุณตามความต้องการของคุณ มีหลายประเภทของกรอบในตลาด แผนภาพด้านล่างแสดงให้เห็นบางส่วน:
ดังนั้นในบล็อกนี้เราจะเน้นที่ Spring Framework
Spring Framework คืออะไร?
คำถามนี้เกิดขึ้น“ Spring Framework คืออะไร”?
Spring Framework เป็นเฟรมเวิร์กการพัฒนาแอพพลิเคชั่นน้ำหนักเบาอันทรงพลังที่ใช้สำหรับ Enterprise Java (JEE)
คุณสมบัติหลักของ Spring Framework สามารถใช้ในการพัฒนาแอปพลิเคชัน Java ใด ๆสามารถอธิบายได้ว่ากรอบที่สมบูรณ์และเป็นโมดูล Spring Framework สามารถใช้สำหรับการใช้งานเลเยอร์ทั้งหมดของแอปพลิเคชันแบบเรียลไทม์ นอกจากนี้ยังสามารถใช้สำหรับการพัฒนาเลเยอร์เฉพาะของแอปพลิเคชันแบบเรียลไทม์ซึ่งแตกต่างจาก Struts และ Hibernate แต่ด้วย Spring เราสามารถพัฒนาเลเยอร์ทั้งหมดได้
Spring Framework คืออะไร แต่มีการพัฒนาอย่างไร? มีประวัติที่น่าสนใจอยู่เบื้องหลัง มาดูประวัติและที่มาของ Spring Framework กัน
ในเดือนตุลาคม 2545 ร็อดจอห์นสัน ผู้เชี่ยวชาญด้านคอมพิวเตอร์ชาวออสเตรเลียเขียนหนังสือชื่อ Expert One-on-One J2EE Design and Development ในหนังสือเล่มนี้เขาเสนอวิธีแก้ปัญหาที่ง่ายกว่าโดยอาศัยคลาส Java ธรรมดา (POJO) และการฉีดขึ้นต่อกัน เขาเขียนโค้ดโครงสร้างพื้นฐานกว่า 30,000 บรรทัดซึ่งรวมอินเทอร์เฟซและคลาสจาวาที่ใช้ซ้ำได้จำนวนหนึ่งสำหรับการพัฒนาแอปพลิเคชัน ประมาณเดือนกุมภาพันธ์ พ.ศ. 2546 Rod, Juergen และ Yann เริ่มทำงานร่วมกันในโครงการ Spring ชื่อ 'Spring' ได้รับเนื่องจากหมายถึงการเริ่มต้นใหม่หลังจาก 'ฤดูหนาว' ของ J2EE แบบดั้งเดิม
ต่อไปนี้เป็นไทม์ไลน์ที่แสดงเกี่ยวกับการเผยแพร่ครั้งสำคัญในประวัติศาสตร์ของฤดูใบไม้ผลิ:
มีชื่อว่าอินเทอร์เฟซ 21 อ้างอิงถึงศตวรรษที่ 21 และเผยแพร่ภายใต้ใบอนุญาต Apache 2.0 |
นี่เป็นการเปิดตัวครั้งสำคัญครั้งแรก Spring framework พัฒนาไปอย่างรวดเร็วนับตั้งแต่รุ่นนี้ Interface21 รองรับ AspectJ ควบคู่ไปกับ Spring Framework |
เพิ่มคุณสมบัติใหม่ - คอนฟิกูเรชัน XML ที่ขยายได้, รองรับ Java 5 และภาษาไดนามิก, จุดขยาย IoC และการปรับปรุง AOP |
เพิ่มคุณสมบัติใหม่ - รองรับ Java 6 / JEE5, การกำหนดค่าคำอธิบายประกอบ, การตรวจหาคอมโพเนนต์อัตโนมัติใน classpath และบันเดิลที่สอดคล้องกับ OSGi |
มีการเพิ่มคุณสมบัติใหม่ - รองรับระบบโมดูลที่จัดโครงสร้างใหม่, SpEL, JavaConfig, ฐานข้อมูลแบบฝัง, การสนับสนุน REST และการสนับสนุน Java EE 6 |
Spring Data Commons Project เปิดตัวแล้ว ต่อมาในปี 2012 Rod Johnson ออกจากทีม Spring |
โครงการ Spring ทั้งหมดเปลี่ยนเป็น Pivotal มีการเพิ่มคุณสมบัติใหม่ - รองรับ Java 8, websockets, การพึ่งพาไลบรารีของบุคคลที่สามที่สูงขึ้น, DSL ที่น่าสนใจสำหรับนิยาม bean |
เข้ากันได้กับ Java 6, 7 และ 8 โดยเน้นที่การปรับแต่งหลักและความสามารถของเว็บที่ทันสมัย |
มันจะเป็นรุ่นสุดท้ายภายในข้อกำหนดทั่วไปของระบบ Spring 4 4.3.8 เป็นเวอร์ชันปัจจุบัน |
ทำไมต้อง Spring Framework?
ด้านล่างนี้เป็นแผนภูมิที่แสดงการเปรียบเทียบระหว่าง Spring และ Framework อื่น ๆ
ด้านล่างนี้เป็นกราฟจากแบบสำรวจณ เดือนพฤษภาคม 2559 ดังที่คุณเห็นจากกราฟว่า Spring Framework ได้รับความนิยมอย่างมากในโดเมนและยังคงดำรงตำแหน่งในตั้งแต่ปี 2014
เหตุผลของสปริงเฟรมความนิยมของผลงาน
โดยทั่วไปมีสามเหตุผลหลักที่ทำให้ Spring Framework ได้รับความนิยม
- เรียบง่าย
- Testablity
- ข้อต่อหลวม
มาคุยรายละเอียดหัวข้อเหล่านี้กัน
ความเรียบง่าย: Spring Framework นั้นเรียบง่ายเนื่องจากไม่รุกรานเนื่องจากใช้โมเดล POJO และ POJI
- POJO (วัตถุ Java เก่าธรรมดา):คลาส Java ที่ไม่ได้ใช้ร่วมกับเทคโนโลยีใด ๆ หรือเรียกว่า Framework ใด ๆ ' POJO ' .
- POJI (Plain Old Java Interfaces): อินเทอร์เฟซ Java ที่ไม่ได้ใช้ร่วมกับเทคโนโลยีใด ๆ หรือเรียกว่างานเฟรมใด ๆ ' POJI ' .
Testablity : สำหรับการเขียน Sไม้ไผ่แอปพลิเคชันเซิร์ฟเวอร์ไม่บังคับ แต่สำหรับแอปพลิเคชัน struts และ EJB คุณต้องมีเซิร์ฟเวอร์หากคุณต้องการทดสอบแอปพลิเคชัน อาจต้องมีการเปลี่ยนแปลงจำนวนมากในแหล่งที่มาและเพื่อดูการเปลี่ยนแปลงเหล่านั้นทุกครั้งที่คุณต้องรีสตาร์ทเซิร์ฟเวอร์ สิ่งนี้จะน่าเบื่อและเสียเวลา ในกรณีที่Spring Framework มีคอนเทนเนอร์ของตัวเองเพื่อเรียกใช้ appliไอออนบวก
ข้อต่อหลวม: Spring Framework ทำงานร่วมกันอย่างหลวม ๆ เนื่องจากมีแนวคิดเช่น Dependency Injection, AOP เป็นต้นคุณสมบัติเหล่านี้ช่วยในการลดการพึ่งพาและเพิ่มความเป็นโมดูลาร์ภายในโค้ด มาทำความเข้าใจกับตัวอย่างนี้
ข้อมูล tableau ผสมซ้ายเข้าร่วม
ที่นี่ฉันมีอินเทอร์เฟซ Bike ซึ่งมีวิธี start () มีการดำเนินการเพิ่มเติมโดยสามคลาส ได้แก่ Yamaha, Honda และ Bajaj
อินเทอร์เฟซสาธารณะ Bike {public void start ()}
ที่นี่คลาส Rider สร้างออบเจ็กต์ของคลาสใด ๆ ที่ใช้อินเทอร์เฟซ Bike
class Rider {Bike b public void setBike (Bike b) {this.b = b} void ride () {b.start ()}}
ตอนนี้คอนเทนเนอร์ Spring Framework สามารถฉีดออบเจ็กต์ของคลาสใดก็ได้ที่ใช้อินเทอร์เฟซ Bike ตามข้อกำหนด นี่คือวิธีการทำงานของข้อต่อหลวม
สถาปัตยกรรมกรอบฤดูใบไม้ผลิ
ดังที่คุณเห็นจากแผนภาพด้านบนว่า Spring มีสถาปัตยกรรมแบบเลเยอร์ซึ่งประกอบด้วยโมดูลต่าง ๆ ซึ่งมีฟังก์ชันการทำงานของตัวเอง โมดูลเหล่านี้แบ่งออกเป็นเลเยอร์ต่อไปนี้:
- คอนเทนเนอร์หลัก
- การเข้าถึง / การรวมข้อมูล
- เว็บ
- AOP (การเขียนโปรแกรมเชิงภาพ)
- เครื่องมือวัด
- ทดสอบ.
คุณอาจสงสัยว่า Spring Framework มีข้อดีอย่างไรในการมีสถาปัตยกรรมแบบเลเยอร์ มาดูประเด็นต่อไปนี้:
- Spring Framework จัดระเบียบวัตถุระดับกลางของคุณอย่างมีประสิทธิภาพ
- โดยไม่คำนึงถึงสภาพแวดล้อมรันไทม์บริการจัดการการกำหนดค่าของ Spring Framework สามารถใช้ในเลเยอร์สถาปัตยกรรมใดก็ได้
- Spring Framework จัดการการกำหนดค่าในลักษณะที่สอดคล้องกันตลอดทั้งแอปพลิเคชัน ซึ่งทำให้ไม่จำเป็นต้องใช้รูปแบบไฟล์คุณสมบัติแบบกำหนดเองที่หลากหลาย
- Spring Framework ได้รับการออกแบบในลักษณะที่แอปพลิเคชันที่สร้างขึ้นจะต้องพึ่งพา API น้อยที่สุดเท่าที่จะเป็นไปได้
- เนื่องจากการใช้อินเทอร์เฟซ,Spring Framework อำนวยความสะดวกในการเขียนโปรแกรมที่ดี
เพื่อให้เข้าใจอย่างถ่องแท้ว่า Spring Framework คืออะไรมาดู Spring Framework Application ง่ายๆกัน ทำตามห้าขั้นตอนง่ายๆ:
ขั้นตอนที่ 1: สร้างคลาส Bean
package org.edureka.firstSpring public class StudentBean {String name public String getName () {return name} public void setName (String name) {this.name = name} public void displayInfo () {System.out.println ('Hello: '+ ชื่อ)}}
ขั้นตอนที่ II: สร้างไฟล์ XML
ขั้นตอนที่ 3: สร้างคลาสหลัก
package org.edureka.firstSpring import org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext public class StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathXmlApplicationContext ('StudentConfig.x ) โรงงาน StudentBean = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}
ขั้นตอนที่ IV: โหลดไฟล์ jar
โหลดไฟล์ jar ต่อไปนี้
- commons-logging-1.2.jar
- javax.servlet-api-3.1.0.jar
- jstl-1.2.jar
- สปริง aop-4.2.2.RELEASE.jar
- ถั่วฤดูใบไม้ผลิ -4.2.2 RELEASE.jar
- spring-context-4.2.2.RELEASE.jar
- สปริงคอร์ -4.2.2.RELEASE.jar
- สปริงนิพจน์ -4.2.2.RELEASE.jar
- spring-web-4.2.2.RELEASE.jar
- สปริง webmvc-4.2.2.RELEASE.jar
บันทึก: ในกรณีที่คุณต้องการไฟล์ jar ให้แสดงความคิดเห็นด้านล่าง
ขั้นตอนที่ V: เรียกใช้โปรแกรม
เรียกใช้โปรแกรมบนเซิร์ฟเวอร์ของคุณเพื่อทดสอบแอปพลิเคชัน
หวังว่าฉันจะสามารถอธิบายได้อย่างชัดเจนว่า Spring Framework คืออะไรทำงานอย่างไรและใช้ทำอะไร นอกจากนี้คุณยังดูวิดีโอเรื่อง“ What is Spring Framework” ซึ่งผู้สอนจะอธิบายหัวข้อที่กล่าวถึงในบล็อกนี้พร้อมกับการสาธิตเชิงปฏิบัติ
Spring Framework ใน Java คืออะไร | บทแนะนำ Spring Framework | Edureka
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Spring Framework โปรดติดตามบล็อกชุดนี้ของฉันเพราะฉันจะมากับบล็อกอื่นใน ซึ่งจะพูดถึงแนวคิดขั้นสูงเพิ่มเติมในฤดูใบไม้ผลิ
หากคุณต้องการเรียนรู้ Spring และต้องการใช้ในขณะที่พัฒนาแอปพลิเคชัน Java ให้ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไป