Spring Framework
תשתית התוכנה ספרינג (באנגלית: Spring Framework; להלן: ספרינג) היא שלד תוכנה בקוד פתוח ומנגנון להיפוך שליטה (Inversion of Control) עבור הפלטפורמה של ג'אווה.
מפתח | SpringSource |
---|---|
מחזור חיים | 16 בנובמבר 2002 – הווה (21 שנים) |
גרסה אחרונה | 6.1.4 (15 בפברואר 2024) |
מערכת הפעלה | חוצה פלטפורמות |
נכתבה בשפות | Java, Kotlin, Groovy |
סוג רישיון | רישיון אפאצ'י 2.0 |
קוד מקור | https://github.com/spring-projects/spring-framework |
קטגוריה | שלד תוכנה |
spring.io | |
ניתן להשתמש ביכולות הליבה של ספרינג בכל יישום 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 (באנגלית)
- Spring Framework - סדרת מדריכי וידאו באתר YouTube (באנגלית)
- Spring AOP - סדרת מדריכי וידאו באתר YouTube (באנגלית)
- Spring Data Support - סדרת מדריכי וידאו באתר YouTube (באנגלית)
- Spring Framework, ברשת החברתית אקס (טוויטר)