Spring Framework
מראה
מפתח | SpringSource |
---|---|
מחזור חיים | 16 בנובמבר 2002 – הווה (21 שנים) |
גרסה אחרונה | 6.1.4 (15 בפברואר 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 (באנגלית)
- Spring Framework - סדרת מדריכי וידאו באתר YouTube (באנגלית)
- Spring AOP - סדרת מדריכי וידאו באתר YouTube (באנגלית)
- Spring Data Support - סדרת מדריכי וידאו באתר YouTube (באנגלית)
- Spring Framework, ברשת החברתית אקס (טוויטר)
Java (פלטפורמת תוכנה) | ||
---|---|---|
פלטפורמה | Java (שפת תכנות) • Java Card • Java ME • Java EE • Java SE • Java Virtual Machine | |
טכנולוגיות | Java applet • Java Web Start • Java Servlet • JavaServer Pages • JavaFX • JavaServer Faces | |
מושגים | איסוף זבל • Cross-platform • Java Bytecode • Java Development Kit • Javadoc • Java Classloader • Java Class Library JIT Compiler • HotSpot • JavaBeans • Enterprise JavaBeans • JNI • JAR • POJO • Web container • Java annotation | |
ממשקי תכנות יישומים | Swing • AWT • SWT • Java 3D • Java 2D • JMS • JDBC • JAXP • JPA • RMI • JNDI | |
שפות ל-JVM | Scala • Clojure • Groovy • JRuby • Jython | |
תשתיות תוכנה וכלים של חברות צד שלישי |
אפאצ'י טומקט • Apache Maven • Apache Ant • Apache Struts JUnit • Hibernate • Spring Framework • JBoss • Google Web Toolkit • BEA WebLogic • IBM WebSphere | |
סביבות פיתוח משולבות | Eclipse • NetBeans • IntelliJ | |
חברות | סאן מיקרוסיסטמס • אורקל | |
אישים | ג'יימס גוסלינג • ביל ג'וי • אריק שמידט |