اسپرینگ فریمورک

اسپرینگ فریمورک (به انگلیسی: Spring Framework) یک چارچوب نرم‌افزاری و مدیر وارونگی کنترل متن‌باز برای سکوی جاوا است.[2]

Spring Framework
توسعه‌دهنده(ها)SpringSource
انتشار پایدار
۴٫۳٫۸
۱۸ آوریل ۲۰۱۷ (۲۰۱۷-۰۴-18)[1]
مخزن
نوشته‌شده باجاوا (زبان برنامه‌نویسی)
سیستم‌عاملچندسکویی
بن‌سازه رایانشماشین مجازی جاوا
گونهApplication framework
پروانهپروانه آپاچی ۲٫۰
وبگاه

ویژگی‌های اصلی این فریمورک می‌تواند توسط هر برنامه جاوا مورد استفاده قرار گیرد، اما دارای افزونه‌هایی برای ساختن برنامه‌های کاربردی وب بر روی پلت فرم JavaEE می‌باشد. اگر چه این فریمورک هیچ مدل برنامه‌نویسی خاصی را به برنامه‌نویس تحمیل نمی‌کند، اما در میان برنامه نویسان جاوا به عنوان یک راهکار دوم، یا یک جایگزین یا حتی افزونه ای برای مدل Enterprise JavaBeans (EJB) تبدیل شده‌است.

این فریمورک توسط آقای راد جانسون (Rod Johnson) نوشته شده و برای اولین بار در سال ۲۰۰۳ ارائه شد. نسخه دوم در سال ۲۰۰۶ ارائه شده و موفق به دریافت جوایز متعدد گردید؛ و تاکنون تا نسخه ۴٫۳ از این فریمورک منتشر شده‌است.

اسپرینگ یک فریمورک سبک است که می‌توان آن را فریمورک فریمورک‌ها نامید! به این خاطر که از انواع فریمورک‌ها شامل Struts, Hibernate, Tapestry, EJB, JSF و غیره پشتیبانی می‌کند. در نگاهی کلی تر اسپرینگ را به عنوان ساختاری تعریف می‌کنیم که در آن می‌توان solutionهای مربوط به مسایل تکنیکال مختلف را پیدا کرد.

فریمورک اسپرینگ شامل چندین ماژول است از جمله IOC, AOP, DAO, Context, ORM, WEB MVC و غیره.[3]

مزایای فریمورک اسپرینگ

اسپرینگ مزایای بسیاری دارد که عبارتند از:

  1. قالب‌های از پیش تعریف شده اسپرینگ قالب‌هایی (templates) برای تکنولوژی‌های JDBC, Hibernate, JPA و .. فراهم می‌کند؛ بنابراین نیازی به نوشتن کدهای زیاد نیست. اسپرینگ گام‌های پایه ای این تکنولوژی‌ها را مخفی می‌کند.
  2. اتصال ضعیف برنامه‌های اسپرینگی بخاطر وجود تزریق وابستگی، loosely coupled هستند.
  3. تست آسان تزریق وابستگی موجب می‌شود تا تست برنامه‌ها راحت‌تر شود. برنامه‌های EJB یا Struts برای اجرا نیاز به سرور دارند اما فریمورک اسپرینگ نیازی به سرور ندارد.
  4. سبک‌وزن اسپرینگ بسیار سبک است، چرا که پیاده‌سازی آن POJO است. اسپرینگ برنامه‌نویس را وادار نمی‌کند که از ارث بری یا پیاده‌سازی واسط (implement interface) استفاده کند. به همین خاطر است که به آن غیرتهاجمی (non-invasive) گفته می‌شود.
  5. توسعه سریع وجود تزریق وابستگی و نیز پشتیبانی از فریمورک‌های متعدد، اسپرینگ را به یک محیط توسعه آسان و سریع برای برنامه‌های JavaEE تبدیل کرده‌است.
  6. انتزاع قدرتمند اسپرینگ انتزاع بسیار قوی از ویژگی‌های JavaEE مانند JMS, JDBC, JPA و JTA فراهم می‌آورد.
  7. پشتیبانی اعلانی (Declarative) اسپرینگ برای ذخیره‌سازی، اعتبارسنجی، تراکنش‌ها و فرمت بندی پشتیبانی اعلانی فراهم می‌کند.[3]

منابع

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.