مخاطب هدف

این محتوا برای برنامه نویسان جاوا طراحی شده است که نیاز به درک فریم ورک یا (چارچوب) Spring و کاربرد آن دارند.

 

پیش نیازها

قبل از ادامه این آموزش ، باید درک خوبی از زبان برنامه نویسی جاوا داشته باشید.

 

معرفی

Spring یک چارچوب اوپن سورس است که برای رفع پیچیدگی توسعه برنامه های سازمانی ایجاد شده است. یکی از مزایای اصلی چارچوب Spring ، لایه لایه بودن آن است که به شما امکان می دهد از کدام یک از اجزای آن استفاده کنید و در عین حال چارچوبی منسجم برای توسعه برنامه J2EE ارائه دهید.

 

ویژگی ها

  • سبک

    در مورد اندازه و شفافیت ، Spring سبک است. نسخه اصلی این فریمورک حدود 1 مگابایت است. و سربار پردازش نیز بسیار ناچیز است.

  • وارونگی کنترل (IOC) Inversion Of Control

    مفهوم اساسی تزریق وابستگی یا وارونگی کنترل این است که ، برنامه نویس نیازی به ایجاد اشیا ندارد ، بلکه نحوه ایجاد آن را توضیح می دهد. نیازی به اتصال مستقیم اجزا و خدمات خود به یکدیگر در برنامه نیست ، در عوض فقط توضیح دهید که در یک فایل پیکربندی/فایل xml کدام سرویسها توسط کدام اجزا مورد نیاز است. سپس محفظه اسپرینگ IOC مسئول اتصال همه آنها است.

  • جنبه محور (AOP) Aspect Oriented Programming

    Spring از برنامه نویسی Aspect -oriented پشتیبانی می کند.
    برنامه نویسی جنبه گرا به پارادایم برنامه نویسی اشاره می کند که عملکردهای ثانویه یا حمایتی را از منطق تجاری برنامه اصلی جدا می کند. AOP یک فناوری نویدبخش برای تفکیک نگرانی های مقطعی است ، کاری که معمولاً در برنامه نویسی شی گرا سخت انجام می شود. مدولار بودن برنامه به این ترتیب افزایش می یابد و نگهداری آن به طور قابل توجهی آسان تر می شود.

  • ظرف (Container)

    Spring شامل چرخه زندگی و پیکربندی اشیاء کاربردی است.

  • فریم ورک MVC

    Spring همراه با چارچوب برنامه وب MVC است که بر اساس عملکرد اصلی Spring ساخته شده است. این چارچوب از طریق رابط های استراتژی بسیار قابل تنظیم است و از فناوری های چند نمای مانند JSP ، Velocity ، Tiles ، iText و POI استفاده می کند. اما می توان به راحتی از چارچوب های دیگر به جای Spring MVC Framework استفاده کرد.

  • مدیریت تراکنش

    چارچوب Spring یک لایه انتزاعی عمومی برای مدیریت تراکنش ها ارائه می دهد. این به توسعه دهنده اجازه می دهد مدیران معاملات قابل اتصال را اضافه کند و مرزبندی معاملات را بدون برخورد با مسائل سطح پایین آسان می کند. پشتیبانی تراکنش های Spring به محیط های J2EE وابسته نیست و همچنین می تواند در محیط های کمتر با ظرف استفاده شود.

  • Exception Handling (مدیریت استثنا) JDBC

    لایه انتزاعی JDBC از Spring یک سلسله مراتب استثنایی معنی دار ارائه می دهد که استراتژی مدیریت خطا را ساده می کند. ادغام با Hibernate ، JDO و iBATIS: Spring بهترین خدمات یکپارچه سازی را با Hibernate ، JDO و iBATIS ارائه می دهد

معماری

Spring معماری منظمی است که از هفت ماژول تشکیل شده است. ماژول ها در چارچوب Spring عبارتند از:

Spring AOP

یکی از اجزای کلیدی اسپرینگ چارچوب AOP است. AOP در اسپرینگ استفاده می شود:

  •       ارائه خدمات سازمانی اعلامی ، به ویژه به عنوان جایگزینی برای خدمات اعلامیه EJB. مهمترین چنین خدماتی مدیریت تراکنش های اعلانی است که بر اساس انتزاع معاملات اسپرینگ ساخته        می شود.
  •       به کاربران اجازه می دهد تا جنبه های سفارشی را پیاده سازی کرده و استفاده از OOP را با AOP تکمیل کنند

 

  • Spring ORM

    بسته ORM مربوط به دسترسی به پایگاه داده است. لایه های یکپارچه سازی را برای API های نگاشت شی-رابطه ای محبوب ، از جمله JDO ، Hibernate و iBatis فراهم می کند.

  • Spring WEB

    ماژول Spring Web بخشی از مجموعه توسعه برنامه های کاربردی وب Spring است که شامل Spring MVC است.

  • Spring DAO

    پشتیبانی DAO (Data Access Object) در اسپرینگ در درجه اول برای استانداردسازی کار دسترسی به داده با استفاده از فناوری هایی مانند JDBC ، Hibernate یا JDO است.

  • Spring Contex

    این بسته بر اساس پکیج های beans برای افزودن پشتیبانی از منابع پیام و الگوی طراحی Observer و توانایی بدست آوردن منابع با استفاده از یک API سازگار برای اشیاء برنامه طراحی شده است.

  • Spring Web MVC

    این ماژول پیاده سازی MVC را برای برنامه های وب ارائه می دهد.

  • Spring Core

    بسته Core واردکننده ترین جزء Spring Framework است.
    این جزء ویژگی های تزریق وابستگی را ارائه می دهد. BeanFactory یک الگوی کارخانه ای فراهم می کند که وابستگی هایی مانند راه اندازی اولیه ، ایجاد و دسترسی به اشیاء را از منطق برنامه واقعی شما جدا می کند.

Spring Framework Architecture

برای مشاهده منبع اصلی این محتوا میتوانید به این لینک مراجعه کنید.