JavaRush /จาวาบล็อก /Random-TH /สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, กา...
Константин
ระดับ

สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE

เผยแพร่ในกลุ่ม
สวัสดี! ในขณะนี้ ทิศทางการพัฒนาที่ได้รับความนิยมมากที่สุดสำหรับนักพัฒนาที่มีความรู้เกี่ยวกับ Java คือการพัฒนาเว็บ แน่นอนว่าสำหรับความพิเศษนี้มีรายการเทคโนโลยีที่จำเป็นในการศึกษา หนึ่งในสิ่งหลักคือฤดูใบไม้ผลิ คุณอาจโต้แย้งว่าคุณสามารถเรียนรู้ Java EEสิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 1แทนได้ แน่นอนว่านี่เป็นเรื่องจริง แต่ตอนนี้โปรเจ็กต์ใหม่ส่วนใหญ่ใช้Springซึ่งทำให้มันเป็นเทคโนโลยีเริ่มต้นที่บังคับสำหรับนักพัฒนาเว็บ Java และถ้าคุณต้องการให้ทันความต้องการของตลาดคุณจะต้องศึกษามัน วันนี้ฉันอยากจะพูดเกี่ยวกับSpringกล่าวคือ เพื่อขยายวิสัยทัศน์ของคุณสักหน่อย: พูดคุยเกี่ยวกับประวัติความเป็นมาของการสร้าง ความแตกต่างที่สำคัญจากJava EE stack และให้ภาพรวมโดยย่อเกี่ยวกับส่วนประกอบสำคัญของSpring stack มาเริ่มกันเลย! สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 2

1. ฤดูใบไม้ผลิปรากฏขึ้นอย่างไรและเมื่อใด และได้พัฒนาไปสู่อะไรเมื่อเวลาผ่านไป

ทุกอย่างเริ่มต้นในเดือนตุลาคม พ.ศ. 2545เมื่อ Rod Johnson เขียนหนังสือ "Expert One-onOne J2EE Design and Development": สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 3ในหนังสือเล่มนี้จัดพิมพ์โดยWroxผู้เขียนได้อธิบายสถานะของการพัฒนา Java ระดับองค์กรในขณะนั้นและชี้ให้เห็นจำนวน ข้อบกพร่องของJava EEและสภาพแวดล้อม (Enterprise Java Bean) ที่ใช้คอมโพเนนต์EJB ในเวลาเดียวกัน Rod Johnson เสนอวิธีแก้ปัญหาที่ง่ายกว่าโดยอิงจากคลาส Java ปกติ (POJO - ออบเจ็กต์ Java เก่าธรรมดา) และการฉีดการพึ่งพา ในหนังสือ เขาอธิบายว่าคุณสามารถสร้างแอปพลิเคชันการจองออนไลน์คุณภาพสูงและปรับขนาดได้โดยไม่ต้องใช้ EJB ได้อย่างไร เหล่านั้น. เขาแสดงให้เห็นอย่างชัดเจนถึงวิธีขจัดความซับซ้อนของการพัฒนาแอปพลิเคชัน และทำให้สามารถใช้ JavaBeans แบบง่าย ๆ เพื่อบรรลุทุกสิ่งที่ก่อนหน้านี้ทำได้โดยใช้ EJB เท่านั้น อย่างไรก็ตาม ขอบเขตของSpringไม่ได้จำกัดอยู่ที่การพัฒนาส่วนประกอบซอฟต์แวร์ที่ทำงานบนฝั่งเซิร์ฟเวอร์ แอปพลิเคชัน Java ใดๆ สามารถใช้ประโยชน์จากข้อดีของเฟรมเวิร์กได้ในแง่ของความเรียบง่าย ความสามารถในการทดสอบ และการเชื่อมต่อแบบหลวมๆ การออกแบบการพัฒนา J2EEของเขาได้รับความนิยมในทันที รหัสแอปพลิเคชันส่วนใหญ่ที่แจกฟรีโดยเป็นส่วนหนึ่งของหนังสือนั้นสามารถนำกลับมาใช้ใหม่ได้ และนักพัฒนาจำนวนหนึ่งก็เริ่มใช้รหัสดังกล่าวในโครงการของตน Wrox มีหน้าเว็บสำหรับหนังสือพร้อมซอร์สโค้ดและแพตช์ พวกเขายังจัดให้มีฟอรัมออนไลน์สำหรับหนังสือเล่มนี้ด้วย ในเดือนกุมภาพันธ์ พ.ศ. 2546 นักพัฒนา Jürgen Heller และ Jann Karoff โน้มน้าวให้ Rod Johnson สร้างโครงการโอเพ่นซอร์สโดยใช้โค้ดของเฟรมเวิร์ก นับจากนั้นเป็นต้นมา ร็อด เยอร์เกน และยานน์ก็เริ่มร่วมมือกันเพื่อสร้างสรรค์สิ่งใหม่ๆ โดยสิ้นเชิง อันที่จริง Yann Karoff เป็นผู้ที่ตั้งชื่อว่า "Spring" สำหรับเฟรมเวิร์กใหม่ ความหมายในที่นี้คือฤดูใบไม้ผลิก็เหมือนกับฤดูใบไม้ผลิ: การเริ่มต้นใหม่หลัง "ฤดูหนาว" ของ J2EE แบบดั้งเดิม
  • ในเดือนมิถุนายน พ.ศ. 2546 Spring 0.9 ได้รับการเผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0
  • Spring 1.0 เปิดตัวในเดือนมีนาคม พ.ศ. 2547 ที่น่าสนใจคือก่อนการเปิดตัว Spring 1.0 เวอร์ชันก่อนหน้า 0.9 ก็ได้รับการตอบรับเป็นอย่างดีและได้รับการยอมรับอย่างกว้างขวาง
  • ในเดือนสิงหาคม พ.ศ. 2547 Rod Johnson, Jürgen Heller, Keith Donald และ Colin Sampaleanu ได้ร่วมก่อตั้งinterface21ซึ่งเป็นบริษัทที่ปรึกษา ฝึกอบรม และสนับสนุน Spring
  • ตุลาคม 2549: Spring 2.0 เปิดตัว ซึ่งช่วยให้ไฟล์การกำหนดค่า XML ง่ายขึ้น
  • Spring 2.5 ซึ่งเปิดตัวในเดือนพฤศจิกายน พ.ศ. 2550 นำเสนอการกำหนดค่าคำอธิบายประกอบ
  • Spring 3.2 เปิดตัวในเดือนธันวาคม 2555 เปิดตัวการกำหนดค่า Java รองรับ Java 7, Hibernate 4, Servlet 3.0 และยังต้องการ Java 1.5 เป็นอย่างน้อย
  • Yann Karoff ออกจากทีมตั้งแต่เนิ่นๆ ร็อด จอห์นสัน ออกจากทีมสปริงในปี 2012 Jürgen Heller ยังคงเป็นสมาชิกที่กระตือรือร้นของทีมพัฒนา Spring
  • Spring 4.0 เปิดตัวในปี 2014 เพิ่มการรองรับ Java 8
  • นอกจากนี้ในปี 2014 Spring Boot ก็ได้เปิดตัวสู่สายตาชาวโลก
  • Spring 5.0 เปิดตัวในปี 2560 เช่นเดียวกับ Spring Boot 2.x ซึ่งรองรับ Spring 5
  • จริงๆ แล้ว นี่คือวิธีที่เฟรมเวิร์กที่เราชื่นชอบกลายเป็นสิ่งที่เรารู้ตอนนี้

2. สปริงกับ Java EE

เรามาเปรียบเทียบ Java Stack หลัก 2 สแต็ก สำหรับนักพัฒนาเว็บกันสักหน่อย: SpringและJava EE สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 4
จาวา EE
ข้อดี ข้อบกพร่อง
  • แอปพลิเคชันที่เขียนด้วย Java EE ถือว่าเชื่อถือได้ ปลอดภัย และปรับขนาดได้มากกว่า
  • Java EE เป็นมาตรฐาน API ที่ได้รับการอนุมัติจากอุตสาหกรรม
  • อิงตามคำอธิบายประกอบและ CDI (การฉีดบริบทและการอ้างอิง) เป็นหลัก เช่นเดียวกับSpring
  • การใช้งานตามคอนเทนเนอร์ EJB และ POJO
  • JEE จัดการแอปพลิเคชันที่ซับซ้อนซึ่งมีธุรกรรมจำนวนมากได้เป็นอย่างดี
  • ประสบความสำเร็จในการใช้งานสำหรับแอปพลิเคชันเสาหินที่ปรับขนาดได้
  • Java EE มีภาษา OOP ของตัวเองซึ่งมีสไตล์และไวยากรณ์เฉพาะ
  • สภาพแวดล้อมการพัฒนาแอปพลิเคชันที่ซับซ้อนมากซึ่งเป็นเรื่องยากสำหรับผู้เริ่มต้นที่จะเข้าใจ (และบางครั้งก็สำหรับคนรุ่นเก่าด้วย)
  • ต้นทุนสุดท้ายของโครงการ รวมถึงการออกแบบ การปรับใช้ และการพัฒนาแอปพลิเคชัน อาจเป็นค่าใช้จ่ายที่ห้ามปราม
Java EE ซึ่งได้รับอนุญาตจาก Oracle ได้รับการออกแบบมาสำหรับองค์กรและบริษัทที่ต้องการสภาพแวดล้อมที่ปรับเปลี่ยนได้อย่างกว้างขวางและกระจายได้สำหรับการสร้างแอปพลิเคชันในตลาดมวลชน เช่นเดียวกับ Spring Java EE มีไลบรารีเพิ่มเติมสำหรับการเข้าถึงฐานข้อมูล (JDBC, JPA), การร้องขอทางวิศวกรรมระยะไกล (RMI), ข้อมูล (JMS), การดูแลเว็บ, การประมวลผล XML และกำหนดลักษณะ API มาตรฐานสำหรับ JavaBeans องค์กร, พอร์ตเล็ต, Servlets, Java Server Pages ฯลฯ สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 5เป้าหมายพื้นฐานของ Java EE คือการไขปัญหาสำคัญที่นักพัฒนาต้องเผชิญเกี่ยวกับการสร้างแอปพลิเคชันปัจจุบันโดยใช้ API ต่างๆ ในขณะเดียวกัน การพัฒนาใน Java EE ก็มีความซับซ้อนในระดับสูง ซึ่งยกระดับมาตรฐานให้สูงขึ้นอย่างมาก ไม่เพียงแต่สำหรับผู้เริ่มต้นเท่านั้น และผู้เชี่ยวชาญที่มีประสบการณ์อาจเป็นเรื่องยากที่จะเข้าใจฟังก์ชันที่เขียนไว้แล้ว ดังนั้นการพัฒนาใน Java EE จึงใช้เวลานานกว่าและมีราคาแพงกว่าด้วย โดยสรุปเกี่ยวกับ Java EE เราสามารถพูดได้ดังนี้: ซับซ้อน แต่ยืดหยุ่นได้ เอาล่ะ เรามาพูดถึงSpringกัน สักหน่อยสิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 6
ฤดูใบไม้ผลิ
ข้อดี ข้อบกพร่อง
  • ช่วยให้คุณสามารถจัดระเบียบการโต้ตอบของวัตถุได้อย่างมีประสิทธิภาพ
  • ง่ายกว่า Java EE
  • ดำเนินการบนพื้นฐานของIOCและAOPซึ่งช่วยให้มั่นใจได้ถึงการเชื่อมต่อที่หลวมของแอปพลิเคชัน
  • ทำงานตามการกำหนดค่า XML, Groovy หรือคำอธิบายประกอบ
  • ช่วยให้คุณใช้ออบเจ็กต์ Java แบบเก่าธรรมดา - POJO นักพัฒนาไม่จำเป็นต้องใช้คอนเทนเนอร์ระดับองค์กร เช่น แอปพลิเคชันเซิร์ฟเวอร์
  • ช่วยให้นักพัฒนา Java มีโมดูลาร์ในระดับสูง
  • จัดเตรียมการใช้งานไลบรารี Java EE แต่ด้วยวิธีของตัวเอง ทำให้การใช้งานง่ายขึ้นมาก
  • ใบอนุญาตโอเพ่นซอร์ส
  • Spring Boot ช่วยให้การตั้งค่าแอปพลิเคชันเริ่มต้นง่ายขึ้นอย่างมาก
  • โดยทั่วไปรหัสแอปพลิเคชัน Spring นั้นง่ายต่อการทดสอบ
  • ฤดูใบไม้ผลิค่อนข้างยากในการพัฒนาเนื่องจากขาดจุดสนใจที่ชัดเจน
  • สำหรับ Java Developer มือใหม่ การเรียนรู้ Spring Framework อาจเป็นเรื่องที่ท้าทาย (แต่ยังง่ายกว่า Java EE)
  • Spring ช้ากว่า Java EE
Spring เป็นเฟรมเวิร์ก Java แบบโอเพ่นซอร์สสำหรับธุรกิจขนาดใหญ่ กรอบงาน Spring มีเป้าหมายเพื่อให้การนำแนวคิด J2EE ไปใช้ที่ง่ายที่สุดที่เป็นไปได้ และใช้ประโยชน์จากแนวทางปฏิบัติในการเขียนโปรแกรมที่ยอดเยี่ยมโดยการขยายขีดความสามารถของโมเดลการเขียนโปรแกรมแบบ POJO เหล่านั้น. Java EE เป็นมาตรฐานที่เป็นทางการมากกว่า ในขณะที่ Spring เป็นเฟรมเวิร์กที่ใช้มาตรฐานนี้ในลักษณะของตัวเองมากกว่า

ผลการเปรียบเทียบ

ตามความเข้าใจของฉัน Java EE และ Spring เป็นเหมือน JDBC และ Hibernate โดยที่ JDBC เป็นเทคโนโลยีที่เร็วกว่า แต่ในขณะเดียวกันก็มีโค้ดที่ไม่จำเป็นจำนวนมาก และไฮเบอร์เนตใช้ JDBC อยู่แล้ว แต่ในขณะเดียวกันก็ลดความซับซ้อนและลดการพัฒนาอย่างมีนัยสำคัญ (แม้ว่าจะมีข้อจำกัดบางประการ) ไม่สามารถพูดได้อย่างแน่นอนว่าอันไหนดีกว่ากัน สิ่งนี้ค่อนข้างชวนให้นึกถึงคำถาม: ไหนดีกว่ากัน - ArrayList หรือ LinkedList ท้ายที่สุดคำตอบจะเหมือนกัน - ขึ้นอยู่กับสถานการณ์ แต่ละคนมีจุดแข็งและจุดอ่อนของตัวเอง และคุณต้องเลือกอย่างระมัดระวัง ชั่งน้ำหนักสถานการณ์ของคุณและทำความเข้าใจว่าจุดไหนที่จะได้รับประโยชน์สูงสุดในตอนนี้ สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 7

3. ส่วนประกอบสปริง

ทีนี้เรามาพูดถึงเฟรมเวิร์กที่ประกอบกันเป็น Spring กันสักหน่อย

กรอบสปริง

เป็นโมดูลหลักที่ให้โมเดลการเขียนโปรแกรมและการกำหนดค่าที่ครอบคลุมสำหรับแอปพลิเคชันระดับองค์กรที่ใช้ Java สมัยใหม่บนแพลตฟอร์มการใช้งานใดๆ ประกอบด้วย เทคโนโลยี สปริง หลัก (คอร์) มากมาย :
  • แกนหลัก - ฟังก์ชั่นพื้นฐานที่ใช้แนวคิดของIoC (การผกผันของการควบคุม) และ DI (การฉีดการพึ่งพา )
  • AOP - การเขียนโปรแกรมเชิงมุมมอง - การเขียนโปรแกรมเชิงแง่มุมที่มุ่งใช้ตรรกะแบบ end-to-end
  • MVCและWebFlux - เฟรมเวิร์กสำหรับการโต้ตอบบนเว็บ
  • JDBC , ORM - เทคโนโลยีสำหรับการโต้ตอบกับฐานข้อมูล
  • การทดสอบ - ฟังก์ชั่นสำหรับการทดสอบข้อมูลคอนเทนเนอร์ของ Spring ที่โปร่งใสและไม่ซับซ้อน
  • SpEL - ภาษา Spring Expression - ภาษานิพจน์ Spring;
  • ฯลฯ

รองเท้าบูทสปริง

ลดความซับซ้อนในการสร้าง แอปพลิเคชันที่ใช้Springโดยลดการตั้งค่าแอปพลิเคชันเริ่มต้นและกำหนดค่าองค์ประกอบแอปพลิเคชัน Spring โดยอัตโนมัติ ตัวอย่างการสตาร์ท Spring boot ภายใน 5 นาที

ข้อมูลสปริง

ลดความซับซ้อนของการใช้เทคโนโลยีการเข้าถึงข้อมูล ฐานข้อมูลเชิงสัมพันธ์และฐานข้อมูลที่ไม่เชิงสัมพันธ์อย่างมีนัยสำคัญ (ลบโค้ดที่ซ้ำกันและทำให้การโต้ตอบกับข้อมูลง่ายขึ้น) บทความนี้มีบทช่วยสอนที่ดีเกี่ยวกับการเชื่อมต่อ Spring Data

สปริงคลาวด์

ใช้ในสถาปัตยกรรมไมโครเซอร์วิส ลดความซับซ้อนของการโต้ตอบของไมโครเซอร์วิสระหว่างกัน และทำให้การใช้งานแอปพลิเคชันบนแพลตฟอร์มคลาวด์ เช่นAWS , Azureฯลฯ เป็นแบบอัตโนมัติ ดูบทช่วยสอนโดยละเอียดเกี่ยวกับ Spring Cloud ที่นี่แต่ฉันจะเตือนคุณว่าหัวข้อนี้ไม่ใช่เรื่องง่ายและมุ่งเป้าไปที่ผู้เชี่ยวชาญที่ใกล้ชิดกับระดับอาวุโส

ความปลอดภัยของสปริง

มอบเครื่องมือการรับรองความถูกต้อง (การรับรองความถูกต้อง) และการควบคุมการเข้าถึง (การให้สิทธิ์) ที่ทรงพลังและปรับแต่งได้สำหรับแอปพลิเคชัน คุณสามารถดู ตัวอย่างง่ายๆ ของการเชื่อมต่อSpring Securityกับแอปพลิเคชันของคุณได้ในโพ สต์นี้สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 8

กราฟสปริงQL

โมดูลนี้ให้การสนับสนุนแอปพลิเคชัน Spring ที่สร้างบน GraphQL Java GraphQLเป็นภาษาคิวรีสำหรับ API ที่ช่วยให้ไคลเอ็นต์สามารถสืบค้นชุดข้อมูลจำนวนจำกัดที่พวกเขาต้องการ ซึ่งจะทำให้รวบรวมข้อมูลได้ในจำนวนการสืบค้นที่จำกัด หากคุณคุ้นเคยกับ JPA อยู่แล้ว คุณอาจเจอ EntityGraph ซึ่งมีแนวคิดที่คล้ายกัน (หรือเหมือนกัน) อยู่แล้ว คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ GraphQL ได้ ที่นี่

เซสชั่นฤดูใบไม้ผลิ

ส่วนนี้ของ Spring Framework มี API และการใช้งานสำหรับจัดการข้อมูลเซสชันผู้ใช้ (ข้อมูลเซสชันผู้ใช้ถูกจัดเก็บไว้ในที่เก็บข้อมูลถาวร เช่นRedis , MongoDb , HazelCastฯลฯ ) สามารถดูตัวอย่างการใช้Spring Sessionได้ ที่นี่

บูรณาการสปริง

โมดูลนี้ได้รับการออกแบบมาเพื่อลดความซับซ้อนในการส่งข้อความในแอปพลิเคชันที่ใช้ Spring และรองรับการรวมเข้ากับระบบภายนอกผ่านอะแดปเตอร์ที่ประกาศ อะแดปเตอร์เหล่านี้ให้ระดับนามธรรมที่สูงกว่าการรองรับของ Spring สำหรับการทำงานระยะไกล การส่งข้อความ และการกำหนดเวลา บทความโดยละเอียด

ส่วนที่เหลือฤดูใบไม้ผลิ

มีชุดเครื่องมือมากมายที่ทำให้การพัฒนา REST API ง่ายขึ้น: เครื่องมือสำหรับคำขอการกำหนดเส้นทาง สำหรับการแปลง JSON/XML ให้เป็นออบเจ็กต์ประเภทที่ต้องการ ฯลฯ ตัวอย่างของบริการ RESTful ใน Spring สามารถพบได้ในเอกสาร นี้

สปริงเว็บโฟลว์

Spring Web Flow ขึ้นอยู่กับ Spring MVC และช่วยให้คุณสามารถใช้ "โฟลว์" ของเว็บแอปพลิเคชันได้ โฟลว์ดังกล่าวสรุปลำดับขั้นตอนที่แนะนำผู้ใช้ตลอดจนงานทางธุรกิจบางอย่างเสร็จสมบูรณ์ ครอบคลุมคำขอ HTTP หลายรายการ มีสถานะ ทำงานกับข้อมูลธุรกรรม สามารถนำมาใช้ซ้ำได้ และมีลักษณะเป็นไดนามิกและคงทน สามารถดูตัวอย่างการเชื่อมต่อ Spring Web Flow ได้ในคู่มือนี้เป็น ภาษาอังกฤษ

สปริงเว็บเซอร์วิส

โมดูลนี้ได้รับการออกแบบมาเพื่อให้ง่ายต่อการพัฒนาบริการ SOAP ตามสัญญา โดยอนุญาตให้คุณสร้างบริการเว็บที่ยืดหยุ่นโดยใช้หนึ่งในหลายวิธีในการจัดการเพย์โหลด XML SOAP - โปรโตคอลการเข้าถึงวัตถุอย่างง่าย - โปรโตคอลการเข้าถึงวัตถุอย่างง่าย

ฤดูใบไม้ผลิ HATEOAS

โมดูลนี้มี API บางตัวเพื่อให้ง่ายต่อการสร้างตัวควบคุม REST ที่เป็นไปตามหลักการ HATEOAS เมื่อทำงานกับ Spring และโดยเฉพาะ Spring MVC HATEOAS - ไฮเปอร์มีเดียในฐานะกลไกของสถานะแอปพลิเคชัน - ไฮเปอร์มีเดียเป็นกลไกของสถานะแอปพลิเคชัน คุณสามารถดู การใช้ ห้องสมุดSpring นี้ ได้ ที่นี่

ชุดฤดูใบไม้ผลิ

โมดูลนี้มีฟังก์ชันสำหรับการประมวลผลข้อมูลเป็นชุด (เมื่อข้อมูลถูกประมวลผลเป็นชิ้นใหญ่ - เป็นชุด) ซึ่งมีความสำคัญต่อการดำเนินงานประจำวันของระบบองค์กร Spring Batch มีคุณสมบัติที่นำมาใช้ซ้ำได้ซึ่งจำเป็นในการจัดการบันทึกจำนวนมาก รวมถึงการบันทึก/การติดตาม การจัดการธุรกรรม สถิติการประมวลผลงาน การเริ่มงานใหม่ การข้าม และการจัดการทรัพยากร คุณสามารถดูบทวิจารณ์ที่น่าสนใจเกี่ยวกับ Spring Batch ได้ ที่ลิงก์นี้

สปริง AMQP

โมดูลนี้ใช้แนวคิดหลักของ Spring กับการพัฒนาโซลูชันการส่งข้อความที่ใช้ AMQP โดยมีเทมเพลตเป็นนามธรรมระดับสูงสำหรับการส่งและรับข้อความ นอกจากนี้ยังให้การสนับสนุน POJO ที่ขับเคลื่อนด้วยข้อความด้วยคอนเทนเนอร์ Listener AMQP - โปรโตคอลการจัดคิวข้อความขั้นสูง - โปรโตคอลการจัดคิวข้อความขั้นสูง โปรเจ็กต์ประกอบด้วยสองส่วน: spring- amqp เป็นนามธรรมพื้นฐาน และ spring-rabbit เป็นการนำไปใช้สำหรับRabbitMQ ตัวอย่างการเชื่อมต่อ RabbitMQ โดยใช้ Spring สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 9

ฤดูใบไม้ผลิสำหรับ Apache Kafka

โปรเจ็กต์นี้ใช้แนวคิดหลัก ของ Spring ในการพัฒนา โซลูชันการส่งข้อความที่ใช้Kafka เทมเพลตมีไว้เพื่อเป็นนามธรรมระดับสูงสำหรับการส่งข้อความ นอกจากนี้ยังให้การสนับสนุน POJO ที่ขับเคลื่อนด้วยข้อความพร้อมคำอธิบายประกอบที่จำเป็นและคอนเทนเนอร์ Listener มีความคล้ายคลึงกันอย่างชัดเจนกับ Spring AMQP แต่โมดูลนี้ได้รับการดัดแปลงสำหรับ Kafka โดยเฉพาะ สามารถดูตัวอย่างการเชื่อมต่อ Spring Kafka ได้ที่ นี่

สปริง CredHub

ให้การสนับสนุนฝั่งไคลเอ็นต์สำหรับการจัดเก็บ เรียกค้น และลบ ข้อมูล รับรองจากเซิร์ฟเวอร์ CredHub ที่ทำงานบน แพลตฟอร์ม Cloud Foundry CredHub - จัดเตรียม API สำหรับจัดเก็บ สร้าง ดึงข้อมูล และลบข้อมูลรับรองประเภทต่างๆ อย่างปลอดภัย Spring CredHub ให้การเชื่อมโยง Java สำหรับ CredHub API ทำให้ง่ายต่อการรวมแอปพลิเคชัน Spring เข้ากับ CredHub

ฤดูใบไม้ผลิ โฟล

เป็นไลบรารี JavaScript ที่นำเสนอโปรแกรมออกแบบภาพแบบฝัง HTML5 อย่างง่ายสำหรับไปป์ไลน์และกราฟอย่างง่ายสำหรับการตรวจสอบการสตรีมและข้อมูลแบทช์ การสาธิตเทคโนโลยีนี้อยู่ในวิดีโอที่ลิงค์

สปริง LDAP

ไลบรารีนี้ทำให้การดำเนินการ LDAP ง่ายขึ้นและอิงตาม Spring JdbcTemplate กรอบงานช่วยให้การค้นหาและการปิดบริบท การดูผลลัพธ์ ค่าการเข้ารหัส/ถอดรหัส ตัวกรอง และ อื่นๆ อีกมากมาย (สร้างขึ้นบนหลักการเดียวกันกับ Spring Jdbc) สามารถดูตัวอย่างการใช้งาน Spring LDAP ได้ที่นี่

สปริงรู

โมดูลนี้มีเครื่องมือ RAD ที่สามารถสร้างและจัดการแอปพลิเคชันแบบ Spring ของคุณได้ เป้าหมายคือเพื่อปรับปรุงประสิทธิภาพของนักพัฒนา Java ไม่สามารถเขียนตรรกะทางธุรกิจของแอปพลิเคชันของคุณได้ แต่สามารถจัดการเรื่องการกำหนดค่าและโครงสร้างพื้นฐานได้

สปริงเชลล์

ไลบรารีทำให้การสร้างแอปพลิเคชันเชลล์ที่มีคุณสมบัติครบถ้วน (หรือที่เรียกว่าบรรทัดคำสั่ง) เป็นเรื่องง่ายโดยอาศัย Spring Shell jars และเพิ่มคำสั่งของคุณเอง (ซึ่งมาในรูปแบบวิธีการใน Spring beans) การสร้างแอปพลิเคชันบรรทัดคำสั่งอาจมีประโยชน์ เช่น เพื่อโต้ตอบกับ REST API ของโปรเจ็กต์ของคุณ หรือทำงานกับเนื้อหาไฟล์ในเครื่อง อ่านเพิ่มเติมที่นี่และที่ นี่

สปริงสเตตแมชชีน

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

ห้องนิรภัยสปริง

Spring Vaultมอบบทคัดย่อของ Spring ที่คุ้นเคยและการสนับสนุนฝั่งไคลเอ็นต์สำหรับการเข้าถึง จัดเก็บ และเพิกถอนความลับ โดยนำเสนอทั้งนามธรรมระดับต่ำและระดับสูงสำหรับการโต้ตอบกับห้องนิรภัยช่วยให้ผู้ใช้ไม่ต้องกังวลเรื่องโครงสร้างพื้นฐาน ตัวอย่างการใช้งาน Spring Vault สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 10“ฉันจำเป็นต้องเรียนรู้ทั้งหมดนี้หรือไม่?” - คุณถามด้วยความประหลาดใจ ไม่ต้องกลัว! นี่ผิด! แม่นยำยิ่งขึ้นไม่ใช่เช่นนั้น นี่คือรายการเทคโนโลยีทั้งหมดที่มีอยู่ใน Spring รายการเทคโนโลยีที่ผู้เริ่มต้นจำเป็นต้องรู้นั้นเรียบง่ายกว่ามาก:
  • แกนสปริง
  • รองเท้าบูทสปริง
  • สปริงเว็บ (MVC และ REST)
  • ข้อมูลสปริง (สปริง ORM, สปริง JDBC, สปริง JPA)
  • การทดสอบสปริง
นอกจากนี้ยังมีเทคโนโลยีอื่น ๆ ที่มักพบในโครงการ แต่เนื่องจากความซับซ้อน พวกเขามักจะได้รับการจัดการโดยนักพัฒนาที่มีประสบการณ์มากกว่ามากกว่าสามเณรสีเขียว อย่างไรก็ตาม อย่างน้อยก็ยังมีประโยชน์สำหรับผู้เริ่มต้นที่จะมีความเข้าใจทั่วไปเกี่ยวกับ:
  • ความปลอดภัยของสปริง
  • ฤดูใบไม้ผลิ AOP
  • สปริงคลาวด์
เทคโนโลยีอื่นๆ มีการใช้บ่อยน้อยกว่ามาก ดังนั้นคุณเพียงแค่ต้องศึกษาเทคโนโลยีเหล่านั้นอย่างจริงจังเพื่อทำงานในโครงการเฉพาะเท่านั้น อย่างไรก็ตาม คุณสามารถดูรายการตรวจสอบทั้งหมดเกี่ยวกับสิ่งที่นักพัฒนา Java ควรรู้ได้ในบทความอื่นของฉัน วันนี้ฉันพอแค่นี้ก่อน เจอกันใหม่เร็วๆ นี้! สิ่งที่คุณต้องรู้เกี่ยวกับ Spring: ประวัติ, โมดูลหลัก, การเปรียบเทียบกับ Java EE - 11
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION