บทนำสู่ Spring Architecture Framework

เผยแพร่แล้ว: 2021-02-23

Spring Framework เป็นแพลตฟอร์ม Java จาก Java Enterprise release ซึ่งนำเสนอแนวปฏิบัติด้านโครงสร้างพื้นฐานที่ครอบคลุมสำหรับการพัฒนาแอปพลิเคชันที่ใช้ Java การใช้เทคนิคโครงสร้างพื้นฐานของสปริง นักพัฒนาสามารถสร้างแอปพลิเคชันจาก อ็อบเจก ต์ Java ธรรมดาๆ ได้อย่าง ง่ายดาย ทักษะนี้ใช้กับมาตรฐานการเขียนโปรแกรม Java SE ด้วยเทคนิค Java EE (Enterprise Edition) แบบเต็มและบางส่วน

ด้านล่างนี้เป็นข้อได้เปรียบในฐานะผู้พัฒนาแอปพลิเคชัน Java พวกเขาจะใช้งานแพลตฟอร์ม Spring ได้อย่างไร

  1. สร้างฟังก์ชัน java และดำเนินการกับธุรกรรมฐานข้อมูลโดยไม่ต้องใช้ API ธุรกรรมแยกต่างหาก
  2. สร้างฟังก์ชัน Java โลคัลด้วยตรรกะระยะไกลโดยไม่ต้องใช้ API ระยะไกลที่แยกจากกัน
  3. สร้างฟังก์ชัน Java ในเครื่องเพื่อให้ตรรกะของคุณโดยไม่ต้องใช้ JMX API
  4. สร้างฟังก์ชัน Java โลคัลแยกต่างหากสำหรับคำขอตัวจัดการข้อความโดยไม่ต้องใช้ JMS API แยกกัน

สารบัญ

แนวคิดหลักของโมดูลสปริง

การผกผันของการควบคุม : IOC มีแนวคิดของ OOPS ซึ่งเป็นเทคนิคการเขียนโปรแกรมมาตรฐานและอิงตาม "วัตถุ" ที่รองรับข้อมูลและโค้ดในรูปแบบของเขตข้อมูลและวิธีการ อ็อบเจ็กต์ทำงานอย่างอิสระโดยไม่มีการพึ่งพาการใช้งานอ็อบเจ็กต์ต่างๆ กับอินเทอร์เฟซแบบฝังสำหรับการโต้ตอบเฉพาะ นำเสนอรูปแบบการออกแบบต่างๆ:

ตัวอย่างเช่น Factory, Abstract Factory, Builder, Decorator เพื่อสร้างและพัฒนาคลาสและอินสแตนซ์อ็อบเจ็กต์จำนวนมากสำหรับการสร้างแอปพลิเคชัน Java ที่ครอบคลุม

Spring Framework Inversion of Control (IoC) ให้แนวปฏิบัติที่ดีที่สุดโดยใช้รูปแบบการออกแบบเป็นออบเจ็กต์ระดับเฟิร์สคลาสที่เราสามารถใช้ในแอปพลิเคชันได้อย่างง่ายดาย หลายองค์กรใช้ Spring Framework เพื่อสร้างแอปพลิเคชันที่แข็งแกร่งและปรับขนาดได้

การ พึ่งพาการฉีด: เป็นรูปแบบการออกแบบโครงสร้าง ที่นี่ เรามีแนวคิดของอ็อบเจ็กต์อิสระที่เราสามารถใช้กับอ็อบเจ็กต์อื่นโดยอินเทอร์เฟซในขณะที่สร้างอ็อบเจ็กต์ การพึ่งพานั้นถูกกำหนดผ่านบริการ Dependency Injection (DI) เป็นรูปแบบการออกแบบที่แยกการพึ่งพาจากโค้ดโปรแกรม และเราสามารถใช้และทดสอบได้ง่ายในแอปพลิเคชัน มันทำงานเป็นแนวทางควบคู่กันอย่างหลวม ๆ ในซอร์สโค้ด

การเขียนโปรแกรมเชิงมุมมอง: เป็นมาตรฐานการเขียนโปรแกรมที่ช่วยให้คุณค้นพบการทำงานข้ามฟังก์ชันที่หลากหลายในแอปพลิเคชัน มีฟังก์ชั่นในตัว เมื่อใช้ฟังก์ชันเหล่านี้ เราสามารถนำมาใช้ซ้ำในโหนดแอปพลิเคชันต่างๆ ที่เรียกว่าวิธีตัดขวาง ซึ่งแยกจากตรรกะรหัสธุรกิจด่วนของแอปพลิเคชัน AOP มีข้อได้เปรียบในการจำแนกข้อกังวลที่ตัดขวางจากวัตถุ

กรอบสถาปัตยกรรมสปริง

เฟรมเวิร์กสปริงถูกแจกจ่ายเป็นสถาปัตยกรรมหลายชั้น ซึ่งแบ่งออกเป็นโมดูลที่แยกจากกัน มันสร้างโมดูลเหล่านี้ที่ด้านบนของคอนเทนเนอร์หลัก การใช้โมดูลเหล่านี้ นักพัฒนาสามารถพัฒนาแอปพลิเคชันได้อย่างง่ายดายโดยใช้เทคนิคการออกแบบต่างๆ

มีสถาปัตยกรรมแบบแยกส่วนที่ช่วยให้สามารถทำงานร่วมกับเฟรมเวิร์กอื่นๆ ได้โดยไม่มีปัญหา รูปภาพด้านล่างแสดงถึงโมดูลที่สำคัญของสถาปัตยกรรม Spring Framework

ภาพ

ภาพ

Spring Modules Core Framework

โมดูลคอนเทนเนอร์หลักจาก Spring Framework แบ่งออกเป็นสี่โมดูลเหล่านี้:

    • Context, SpEL, Core, Description, Beans เราสามารถกำหนดองค์ประกอบเหล่านี้ได้ดังนี้:
    • โมดูล SpEL ใช้ภาษาการแสดงที่มีศักยภาพสำหรับการจัดการวัตถุในขณะที่ดำเนินการ
    • บริบท ได้รับการพัฒนาตาม Core และ Beans ช่วยให้คุณได้รับวัตถุที่สร้างขึ้นภายในการตั้งค่า ปัจจัยสำคัญของโมดูลบริบทคือ อินเทอร์เฟซ ApplicationContext โมดูลหลักใช้องค์ประกอบหลักของกรอบงานซึ่งรวมถึงคุณลักษณะ DI และ IoC
    • โมดูล Bean มีหน้าที่ในการสร้างและบำรุงรักษาโมดูล Spring Beans เป็นหน่วยโครงสร้างการเชื่อมต่อแอปพลิเคชัน
  • ORM: มันรวมเครื่องมือการทำแผนที่เชิงวัตถุที่สำคัญไว้ด้วยกัน ตัวอย่างเช่น ไฮเบอร์เนต, แผนที่ ibatis sql, oracle toplink, JPA
  • โมดูล J ee: คอมโพเนนต์นี้จัดเตรียม jmx, jca, ejb และ jms และ JCA (Java Connector Architecture)

อ่าน: คำถามและคำตอบสัมภาษณ์ฤดูใบไม้ผลิ

Spring Framework Web

Spring framework Web แบ่งออกเป็น Web, MVC web-based application, Web-Socket, Web-Portlet

โมดูลเว็บใช้ฟังก์ชัน:

ตัวอย่างเช่น ดาวน์โหลดและอัปโหลดไฟล์ พัฒนาแอปพลิเคชันบนเว็บ ส่วนที่เหลือ หรือ API ของเว็บ

Web-MVC มีกลไก MVC แบบสปริงที่ใช้แอปพลิเคชันบนเว็บ

Web-Socket รองรับการเชื่อมต่อกับไคลเอนต์และเซิร์ฟเวอร์ด้วยความช่วยเหลือของ Web-Sockets ในแอปพลิเคชันบนเว็บ

เว็บพอร์ตเล็ต ดำเนินการปรับใช้บน MVC .net โดยใช้สภาพแวดล้อมของเซิร์ฟเวอร์พอร์ตเล็ต

การเข้าถึงข้อมูล Spring Framework

คอนเทนเนอร์ Data Access and Integration แบ่งออกเป็น JDBC (การเชื่อมต่อแบบ Java), ORM (การแมปเชิงสัมพันธ์กับวัตถุ), OXM ( Object XML Mappers) , JMS (Java Message Service) และโมดูลธุรกรรม

JDBC ใช้ชั้นนามธรรมของ JDBC และเอาชนะการลงทะเบียนด้วยตนเองในรหัสเครื่องแบบที่เกี่ยวข้องกับการเชื่อมต่อกับฐานข้อมูล

Spring ORM จัดให้มีการรวม ORM โดยใช้ Hibernate, JDO (Java Data Objects)

โมดูล OXM (Spring Object XML Mappers) รับผิดชอบ ในการเชื่อมโยง Object และ XML XMLBeans

โมดูล JMS ( Java Messaging Service) สามารถสร้าง ส่ง และรับข้อความได้

โมดูลเบ็ดเตล็ด

ฤดูใบไม้ผลิ

สปริงประกอบด้วยโมดูลต่างๆ ที่เกี่ยวข้อง

ตัวอย่างเช่น: AOP ( Aspect oriented programming) , Instrumentation, Messaging และ Testing

AOP (Aspect-Oriented Programming) เกี่ยวข้องกับการทำลายตรรกะของโปรแกรมภายในส่วนต่างๆ ที่อธิบายว่าเป็นข้อกังวลที่เรียกว่า

โมดูล Aspects ใช้การรวม AspectJ ซึ่งเป็นเฟรมเวิร์ก AOP (Aspect-Oriented Programming) อันทรงพลัง

Instrumentation รักษา class loader และ class instrumentation อย่างมีประสิทธิภาพ ซึ่งเราสามารถใช้และฝึกฝนในแอปพลิเคชันบนเซิร์ฟเวอร์ได้

โมดูล ทดสอบใช้เทคนิคการทดสอบโดยใช้ TestNG และโมดูล JUnit Framework

คุณสมบัติเฟรมเวิร์ก Spring 5

เฟรมเวิร์ก Spring 5 มีคุณสมบัติที่จำเป็นมากมาย:

  • ที่นี่เรามี Java 8 และ Java 9, Java EE 7 และ Java EE 8, Servlet 4.0, JPA 2.2, Bean Validation 2.0 หลายเวอร์ชัน
  • กลไกการบันทึกขั้นสูงด้วยโมดูลเฉพาะสำหรับตัวอย่างสปริงและ JCL (Java Class Library)
  • สำหรับธุรกรรมไฟล์ มีฟีเจอร์สตรีม NIO 2 ซึ่งช่วยปรับปรุงประสิทธิภาพ
  • วิธีการควบคุม Spring MVC ให้คุณสมบัติ Reactor 3.1 Flux และ Mono, RxJava
  • สำหรับ JSON Binding API จะมี Kotlin ซึ่งเป็นเทคนิคของ Project Lombok
  • สำหรับการรับการสนับสนุน Spring Reactive จะมีเทคนิค Spring WebFlux

เรียนรู้ หลักสูตรซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

บทสรุป

เราหวังว่าบทความนี้จะช่วยให้คุณเข้าใจแนวคิดและสถาปัตยกรรมของ Spring Framework upGrad เสนอหลักสูตร Java Spring Framework ที่ครอบคลุม, การเขียนโปรแกรม Java, วิทยาศาสตร์ข้อมูล, การเรียนรู้ของเครื่อง ฯลฯ นอกจากนี้ยังมีการให้คำปรึกษาจากบุคคลที่ดีที่สุดในอุตสาหกรรมอีกด้วย! หากคุณสนใจที่จะเรียนรู้เพิ่มเติมและต้องการคำปรึกษาจากผู้เชี่ยวชาญในอุตสาหกรรม โปรดดูที่ upGrad & IIIT Banglore's Executive PG Program Full-Stack Software Development

สปริงเฟรมเวิร์กทำงานใน Java อย่างไร

Spring หรือ Spring Framework เป็นเฟรมเวิร์กแอปพลิเคชันโอเพนซอร์ซที่ให้เครื่องมือการพัฒนาเพื่อทำให้การออกแบบ Java และเว็บแอปพลิเคชันง่ายขึ้น Spring ยังจัดเตรียมกรอบงานเพื่อพัฒนาแอปพลิเคชันระดับองค์กรอีกด้วย รองรับการเขียนโปรแกรมเชิงมุมมองและ AOP มันขึ้นอยู่กับหลักการผกผันของการควบคุม (IoC) IoC ให้อิสระอย่างสมบูรณ์ในการจัดการคำขอสำหรับการประมวลผล Spring เป็นสภาพแวดล้อมที่เรียบง่ายสำหรับการทดสอบ นอกจากนี้ยังมีรูปแบบการเขียนโปรแกรมสำหรับการพัฒนาเว็บแอปพลิเคชัน สปริงมีระบบการจัดการธุรกรรม นอกจากนี้ยังมีวิธีใหม่ในการกำหนดค่าส่วนประกอบ

Spring MVC คืออะไร?

Spring MVC เป็นเฟรมเวิร์กที่ใช้ในการแปลงคำขอ HTTP เป็นบริการเว็บ สามารถใช้สำหรับสร้างเว็บแอปพลิเคชันหรือเพื่อผลิตบริการเว็บ มันถูกกำหนดค่าด้วยความช่วยเหลือของไฟล์ XML ที่ง่ายมาก กรอบนี้แยกตรรกะทางธุรกิจออกจากบริการเว็บจากการนำเสนอ Spring MVC เป็นเว็บเฟรมเวิร์กที่เป็นส่วนหนึ่งของเฟรมเวิร์กสปริง มีความสามารถในการพัฒนาเว็บแอปพลิเคชันโดยใช้โมเดลคลาส Java Spring MVC เป็นเฟรมเวิร์ก Model-View-Controller สำหรับเว็บแอปพลิเคชัน

ไฮเบอร์เนตในสปริง Java คืออะไร?

Spring Hibernate เป็นเฟรมเวิร์กสำหรับเขียนแอปพลิเคชัน J2EE ที่ใช้การแมปเชิงวัตถุ (ORM) กล่าวโดยย่อ ช่วยให้คุณจัดการข้อมูลเชิงสัมพันธ์จากแอปพลิเคชัน Java มันถูกสร้างขึ้นบน Hibernate ซึ่งเป็นไลบรารี ORM ที่ให้คุณแมปโมเดลโดเมนเชิงวัตถุกับฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม ไฮเบอร์เนตจัดการกับการคงอยู่ ในขณะที่ Spring ดูแลธุรกรรม ความปลอดภัย AOP ระยะไกล และบริการอื่นๆ ที่จำเป็นในการปรับใช้แอปพลิเคชัน Java ระดับองค์กร