Spring Framework

Spring Framework
מפתח SpringSource
מחזור חיים 16 בנובמבר 2002 – הווה (22 שנים) עריכת הנתון בוויקינתונים
גרסה אחרונה 6.2.1 (12 בדצמבר 2024) עריכת הנתון בוויקינתונים
מערכת הפעלה חוצה פלטפורמות
נכתבה בשפות Java, Kotlin, Groovy עריכת הנתון בוויקינתונים
סוג רישיון רישיון אפאצ'י 2.0
קוד מקור https://github.com/spring-projects/spring-framework עריכת הנתון בוויקינתונים
קטגוריה שלד תוכנה
spring.io
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

תשתית התוכנה ספרינגאנגלית: Spring Framework; להלן: ספרינג) היא שלד תוכנה בקוד פתוח ומנגנון להיפוך שליטה (Inversion of Control) עבור הפלטפורמה של ג'אווה.

ניתן להשתמש ביכולות הליבה של ספרינג בכל יישום Java, אבל קיימות גם הרחבות לבניית יישומי רשת על גבי פלטפורמת ה-Java EE. למרות שספרינג אינה כופה עבודה לפי פרדיגמת תכנות מסוימת, היא הפכה פופולרית בקהילת ה-Java כאלטרנטיבה או אפילו כתוספת למודל ה-(Enterprise JavaBeans (EJB.

מודולים

ספרינג מורכבת מכמה מודולים המספקים מגוון שירותים:

  • היפוך שליטה (Inversion of Control container): קונפיגורציה של רכיבי היישום וניהול מחזור החיים של אובייקטים של ג'אווה, מבוצע בעיקר באמצעות הזרקת תלויות (dependency injection).
  • תכנות מוכוון-היבטים (Aspect-oriented programming): מאפשר טיפול בדרישות חותכות (Cross-cutting concerns).
  • גישה לנתונים (data access): עבודה עם בסיסי נתונים יחסיים באמצעות JDBC וכלים למיפוי אובייקטי-רלציוני (ORM) ועבודה עם בסיסי נתונים מסוג NoSQL.
  • ניהול טרנזקציות (transaction management): מאחד כמה ממשקי תכנות יישומים (APIs) לניהול טרנזקציות ומתאם טרנזקציות עבור אובייקטים של ג'אווה.
  • Model-View-Controller: תשתית מבוססת HTTP ו-servlets המספקת אפשרויות להרחבה והתאמה של יישומי ווב ו-web services מבוססי REST.
  • גישה מרחוק (remote access framework): ייבוא וייצוא של אובייקטי ג'אווה דרך רשת מחשבים, בסגנון RPC. תומך בפרוטוקולים CORBA ,RMI ופרוטוקולים מבוססי HTTP, כולל web services מבוססי SOAP.
  • Convention over configuration: פתרון לפיתוח יישומים מהיר עבור יישומי enterprise מבוססי ספרינג, מוצע במסגרת המודול Spring Roo.
  • עיבוד באצווה (batch processing): תשתית לעיבוד נפחים גדולים, כולל פונקציות ניתנות לשימוש חוזר, ניהול טרנזקציות, סטטיסטיקות של עיבוד עבודות, אתחול ודילוג על עבודות וניהול משאבים.
  • אימות זהות והרשאות (authentication and authorization): תהליכי אבטחה ניתנים לקונפיגורציה, התומכים במגוון של סטנדרטים, פרוטוקולים, כלים ושיטות, דרך תת-הפרויקט Spring Security.
  • ניהול מרוחק (remote management): חשיפה וניהול של אובייקטי ג'אווה לצורך קונפיגורציה מקומית או מרוחקת באמצעות JMX.
  • העברת מסרים (Messaging): רישום אובייקטים שתפקידם להאזין למסרים, לצריכת מסרים שקופה מתוך תורי מסרים באמצעות JMS. שיפור האפשרויות לשליחת מסרים באמצעות APIs סטנדרטיים של JMS.
  • בדיקות (testing): תומך במחלקות לכתיבת בדיקות יחידה ובדיקות אינטגרציה.

ראו גם

קישורים חיצוניים

ויקישיתוף מדיה וקבצים בנושא Spring Framework בוויקישיתוף