Nrich เป็นไลบรารี Java ที่พัฒนาขึ้นที่ CROZ โดยมีวัตถุประสงค์เพื่อให้การพัฒนาแอปพลิเคชันบน JVM ง่ายขึ้นเล็กน้อย มันถูกสร้างขึ้นโดยการรวมโมดูลที่พบว่ามีประโยชน์ในหลาย ๆ โปรเจ็กต์เข้าไว้ในไลบรารีทั่วไป ไลบรารีนี้ใช้ Spring Framework และด้วยเหตุนี้จึงมี Spring Boot Starters สำหรับโมดูลส่วนใหญ่เพื่อให้การกำหนดค่าง่ายขึ้น
กลุ่มฟังก์ชันส่วนใหญ่ประกอบด้วยหลายโมดูล:
api
และมีคลาสที่แสดงถึง API ของโมดูล (อินเทอร์เฟซบริการ พารามิเตอร์ ประเภทการส่งคืน...)spring-boot-starter
และมีการกำหนดค่า Spring Boot อัตโนมัติของโมดูลที่ระบุในสภาพแวดล้อม Spring Boot ควรเพิ่มโมดูลสตาร์ทเตอร์การบูตสปริงเป็นการพึ่งพาเท่านั้น
ตารางต่อไปนี้ประกอบด้วยเวอร์ชัน nrich พร้อมด้วยเวอร์ชัน Java และ Spring ขั้นต่ำที่สอดคล้องกัน
เวอร์ชั่นนิช | เวอร์ชันจาวา | เวอร์ชั่นบูทสปริง |
---|---|---|
1.0.x - 1.1.x | 1.8 | 2.3.3.การปล่อยตัว |
1.2.x | 1.8 | 2.6.4 |
1.3.x | 1.8 | 2.6.6 |
1.4.x | 1.8 | 2.6.6 |
1.5.x - 1.7.x | 1.8 | 2.7.4 |
1.8.x | 1.8 | 2.7.7 |
2.0.0 | 17 | 3.1.3 |
Nrich ประกอบด้วยโมดูลต่อไปนี้:
จัดให้มีการขึ้นต่อกันที่มีการจัดการสำหรับโมดูล nrich ทั้งหมด รวมถึงไลบรารีที่ใช้ภายในโมดูลเหล่านั้นที่ไม่ครอบคลุมถึงการขึ้นต่อกันของ Spring Boot
โมดูลนี้ประกอบด้วยคลาสทั่วไปที่ใช้ทั่วทั้งไลบรารี
โมดูลได้รับการเข้ารหัสและถอดรหัสที่ง่ายขึ้นโดยสามารถเข้ารหัสผลลัพธ์ของวิธีการและถอดรหัสอาร์กิวเมนต์ของวิธีการได้ วิธีการที่ควรเข้ารหัสผลลัพธ์และ/หรือถอดรหัสอาร์กิวเมนต์สามารถทำเครื่องหมายได้โดยใช้คำอธิบายประกอบหรือเป็นคุณสมบัติที่ระบุในไฟล์คุณสมบัติ (เช่น application.yml
)
ให้การสร้างรายงาน Excel ได้ง่ายขึ้นจากข้อมูลและเทมเพลตที่ให้มา การใช้งานเริ่มต้นใช้ไลบรารี Apache POI
แต่พยายามทำให้การใช้งานง่ายขึ้น
จัดเตรียมการแมปข้อจำกัดของคลาสฝั่งเซิร์ฟเวอร์กับข้อจำกัดของฟอร์มฝั่งไคลเอ็นต์ วัตถุประสงค์ของ nrich-form-configuration
คือเพื่อให้เป็นศูนย์กลางสำหรับคำจำกัดความข้อจำกัด ลูกค้าลงทะเบียนแบบฟอร์มในคลาสที่กำหนดข้อจำกัด ซึ่งทำให้เขาสามารถขอข้อมูลสำหรับแบบฟอร์มที่ลงทะเบียนได้ ข้อมูลที่ให้มามีข้อจำกัดพร้อมข้อความแสดงข้อผิดพลาดซึ่งระบุไว้ในชั้นเรียน ลูกค้ามีหน้าที่รับผิดชอบในการประมวลผลและนำไปใช้กับแบบฟอร์ม
ตั้งค่าเริ่มต้นที่ใช้กันทั่วไปสำหรับคุณสมบัติ Jackson มาตรฐาน (ดังตัวอย่าง FAIL_ON_EMPTY_BEANS: false
) เพื่อหลีกเลี่ยงการทำซ้ำในโครงการ โมดูลยังจัดเตรียมโมดูล Jackson ที่ทำให้สตริงว่างเป็นอนุกรมเป็นโมฆะและทำให้ชื่อคลาสเป็นอนุกรมเป็นชื่อคลาสที่มีคุณสมบัติครบถ้วนสำหรับคลาสที่มีคำอธิบายประกอบด้วยคำอธิบายประกอบ @Entity
หรือมาจากแพ็คเกจที่กำหนดไว้ในรายการที่กำหนด
ให้บริการบันทึกสำหรับการบันทึกข้อผิดพลาดที่สอดคล้องกันในรูปแบบมาตรฐาน บริการบันทึกที่ให้มายังสามารถแก้ไขคำฟุ่มเฟือยและระดับการบันทึกสำหรับข้อยกเว้นแต่ละรายการได้ โมดูลนี้ใช้ในโมดูล nrich-webmvc สำหรับการบันทึกข้อยกเว้น แต่สามารถแทนที่ได้อย่างง่ายดายด้วยการใช้งานแบบกำหนดเองอื่น ๆ
มีไว้สำหรับการเพิ่มการแจ้งเตือนที่ระบุในการตอบกลับฝั่งเซิร์ฟเวอร์ ซึ่งสามารถแสดงบนฝั่งไคลเอ็นต์ได้ในภายหลัง nrich-notification
รองรับระดับความรุนแรงของการแจ้งเตือนที่แตกต่างกันสามระดับ และยังสามารถรวมรายการข้อผิดพลาดในการตรวจสอบได้อีกด้วย คำจำกัดความและความละเอียดของข้อความเกิดขึ้นได้ด้วยฟีเจอร์ MessageSource
ของ Spring
ลดความซับซ้อนในการดูแลระบบของเอนทิตี JPA ที่ระบุ และจัดเตรียมการแสดงรูปแบบที่ฝั่งไคลเอ็นต์สามารถตีความและสร้างฟอร์มและกริดแบบไดนามิกได้ สามารถใช้แบบฟอร์มและกริดที่สร้างขึ้นสำหรับการแก้ไขเอนทิตีโดยไม่ต้องมีการใช้งานเพิ่มเติมบนฝั่งเซิร์ฟเวอร์ โมดูลยังมีวิธีการค้นหา สร้าง อัปเดต และลบเอนทิตีผ่าน REST API
ลดความยุ่งยากในการสืบค้นเอนทิตี nrich-search
ขึ้นอยู่กับไลบรารี Spring Data JPA และถูกสร้างขึ้นเพื่อลดความซับซ้อนในการสร้างแบบสอบถามสำหรับแบบฟอร์มการค้นหาต่างๆ บนฝั่งไคลเอ็นต์ การสืบค้นสามารถสร้างขึ้นโดยอัตโนมัติจากอินพุตประเภทต่างๆ เช่น คลาสการสืบค้นหรือสตริงที่มีรายการช่องค้นหา นอกจากนี้ คลาสการกำหนดค่าพิเศษยังใช้เพื่อกำหนดวิธีใช้ค่าคิวรีที่ให้มาในการสร้างคิวรี
มีวัตถุประสงค์เพื่อทดแทนฟังก์ชัน csrf ของ Spring Security nrich-security-csrf
ทำงานได้กับทั้งไลบรารี Spring Web MVC และ WebFlux ลูกค้าควรกำหนด URL โทเค็นเริ่มต้น และหลังจากนั้นส่งโทเค็นที่สร้างขึ้นพร้อมกับแต่ละคำขอในส่วนหัวหรือเป็นพารามิเตอร์
เพิ่มฟังก์ชันการทำงานเพิ่มเติมให้กับ Spring Boot ที่ใช้ภายใน nrich
ประกอบด้วยคลาสยูทิลิตี้สำหรับการเข้าถึง Spring เช่น ApplicationContextHolder
สำหรับการแก้ไข ApplicationContext
จากบริบทคงที่
มีข้อจำกัดและเครื่องมือตรวจสอบความถูกต้อง jakarta-validation-api
เพิ่มเติมที่พิสูจน์แล้วว่ามีการใช้กันทั่วไป เช่น เครื่องมือตรวจสอบ NotNullWhen
มอบฟังก์ชันเพิ่มเติมที่สร้างขึ้นจากเฟรมเวิร์ก Spring Web MVC วัตถุประสงค์หลักคือเพื่อจัดการข้อยกเว้นผ่าน NotificationErrorHandlingRestControllerAdvice
ที่จัดการข้อยกเว้นด้วยการบันทึกข้อยกเว้น จากนั้นสร้างและส่งการแจ้งเตือนไปยังฝั่งไคลเอ็นต์พร้อมคำอธิบายของข้อยกเว้น โมดูลนี้ใช้โมดูลการแจ้งเตือนแบบสมบูรณ์สำหรับการจัดการการแจ้งเตือนและการบันทึกแบบสมบูรณ์สำหรับการบันทึก nrich-webmvc
ยังเพิ่มคลาสเพิ่มเติมที่จัดการการเชื่อมโยง (เช่น การแปลงสตริงว่างเป็น null) และการแก้ไขสถานที่