اسپرینگ فریمورک ( به انگلیسی: Spring Framework ) یک چارچوب نرم افزاری و مدیر وارونگی کنترل متن باز برای سکوی جاوا است. [ ۲]
ویژگی های اصلی این فریمورک می تواند توسط هر برنامه جاوا مورد استفاده قرار گیرد، اما دارای افزونه هایی برای ساختن برنامه های کاربردی وب بر روی پلت فرم JavaEE می باشد. اگر چه این فریمورک هیچ مدل برنامه نویسی خاصی را به برنامه نویس تحمیل نمی کند، اما در میان برنامه نویسان جاوا به عنوان یک راهکار دوم، یا یک جایگزین یا حتی افزونه ای برای مدل Enterprise JavaBeans ( EJB ) تبدیل شده است.
این فریمورک توسط آقای راد جانسون ( Rod Johnson ) نوشته شده و برای اولین بار در سال ۲۰۰۳ ارائه شد. نسخه دوم در سال ۲۰۰۶ ارائه شده و موفق به دریافت جوایز متعدد گردید؛ و تاکنون تا نسخه ۴٫۳ از این فریمورک منتشر شده است.
اسپرینگ یک فریمورک سبک است که می توان آن را فریمورک فریمورک ها نامید! به این خاطر که از انواع فریمورک ها شامل Struts, Hibernate, Tapestry, EJB, JSF و غیره پشتیبانی می کند. در نگاهی کلی تر اسپرینگ را به عنوان ساختاری تعریف می کنیم که در آن می توان solutionهای مربوط به مسایل تکنیکال مختلف را پیدا کرد.
فریمورک اسپرینگ شامل چندین ماژول است از جمله IOC, AOP, DAO, Context, ORM, WEB MVC و غیره. [ ۳]
اسپرینگ مزایای بسیاری دارد که عبارتند از:
• قالب های از پیش تعریف شده اسپرینگ قالب هایی ( templates ) برای تکنولوژی های JDBC, Hibernate, JPA و . . فراهم می کند؛ بنابراین نیازی به نوشتن کدهای زیاد نیست. اسپرینگ گام های پایه ای این تکنولوژی ها را مخفی می کند.
• اتصال ضعیف برنامه های اسپرینگی بخاطر وجود تزریق وابستگی، loosely coupled هستند.
• تست آسان تزریق وابستگی موجب می شود تا تست برنامه ها راحت تر شود. برنامه های EJB یا Struts برای اجرا نیاز به سرور دارند اما فریمورک اسپرینگ نیازی به سرور ندارد.
• سبک وزن اسپرینگ بسیار سبک است، چرا که پیاده سازی آن POJO است. اسپرینگ برنامه نویس را وادار نمی کند که از ارث بری یا پیاده سازی واسط ( implement interface ) استفاده کند. به همین خاطر است که به آن غیرتهاجمی ( non - invasive ) گفته می شود.
• توسعه سریع وجود تزریق وابستگی و نیز پشتیبانی از فریمورک های متعدد، اسپرینگ را به یک محیط توسعه آسان و سریع برای برنامه های JavaEE تبدیل کرده است.
• انتزاع قدرتمند اسپرینگ انتزاع بسیار قوی از ویژگی های JavaEE مانند JMS, JDBC, JPA و JTA فراهم می آورد.
• پشتیبانی اعلانی ( Declarative ) اسپرینگ برای ذخیره سازی، اعتبارسنجی، تراکنش ها و فرمت بندی پشتیبانی اعلانی فراهم می کند. [ ۳]
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفویژگی های اصلی این فریمورک می تواند توسط هر برنامه جاوا مورد استفاده قرار گیرد، اما دارای افزونه هایی برای ساختن برنامه های کاربردی وب بر روی پلت فرم JavaEE می باشد. اگر چه این فریمورک هیچ مدل برنامه نویسی خاصی را به برنامه نویس تحمیل نمی کند، اما در میان برنامه نویسان جاوا به عنوان یک راهکار دوم، یا یک جایگزین یا حتی افزونه ای برای مدل Enterprise JavaBeans ( EJB ) تبدیل شده است.
این فریمورک توسط آقای راد جانسون ( Rod Johnson ) نوشته شده و برای اولین بار در سال ۲۰۰۳ ارائه شد. نسخه دوم در سال ۲۰۰۶ ارائه شده و موفق به دریافت جوایز متعدد گردید؛ و تاکنون تا نسخه ۴٫۳ از این فریمورک منتشر شده است.
اسپرینگ یک فریمورک سبک است که می توان آن را فریمورک فریمورک ها نامید! به این خاطر که از انواع فریمورک ها شامل Struts, Hibernate, Tapestry, EJB, JSF و غیره پشتیبانی می کند. در نگاهی کلی تر اسپرینگ را به عنوان ساختاری تعریف می کنیم که در آن می توان solutionهای مربوط به مسایل تکنیکال مختلف را پیدا کرد.
فریمورک اسپرینگ شامل چندین ماژول است از جمله IOC, AOP, DAO, Context, ORM, WEB MVC و غیره. [ ۳]
اسپرینگ مزایای بسیاری دارد که عبارتند از:
• قالب های از پیش تعریف شده اسپرینگ قالب هایی ( templates ) برای تکنولوژی های JDBC, Hibernate, JPA و . . فراهم می کند؛ بنابراین نیازی به نوشتن کدهای زیاد نیست. اسپرینگ گام های پایه ای این تکنولوژی ها را مخفی می کند.
• اتصال ضعیف برنامه های اسپرینگی بخاطر وجود تزریق وابستگی، loosely coupled هستند.
• تست آسان تزریق وابستگی موجب می شود تا تست برنامه ها راحت تر شود. برنامه های EJB یا Struts برای اجرا نیاز به سرور دارند اما فریمورک اسپرینگ نیازی به سرور ندارد.
• سبک وزن اسپرینگ بسیار سبک است، چرا که پیاده سازی آن POJO است. اسپرینگ برنامه نویس را وادار نمی کند که از ارث بری یا پیاده سازی واسط ( implement interface ) استفاده کند. به همین خاطر است که به آن غیرتهاجمی ( non - invasive ) گفته می شود.
• توسعه سریع وجود تزریق وابستگی و نیز پشتیبانی از فریمورک های متعدد، اسپرینگ را به یک محیط توسعه آسان و سریع برای برنامه های JavaEE تبدیل کرده است.
• انتزاع قدرتمند اسپرینگ انتزاع بسیار قوی از ویژگی های JavaEE مانند JMS, JDBC, JPA و JTA فراهم می آورد.
• پشتیبانی اعلانی ( Declarative ) اسپرینگ برای ذخیره سازی، اعتبارسنجی، تراکنش ها و فرمت بندی پشتیبانی اعلانی فراهم می کند. [ ۳]
wiki: اسپرینگ فریمورک