آموزش فارسی اسپرینگ بوت (Spring Boot) به صورت کاربردی

در این مبحث قصد دارم به صورت خلاصه به آموزش کاربردی اسپرینگ بوت بپردازم. برای شروع باید بدانیم Spring چیست؟  همه ما می‌دانیم که برای اکثر زبان‌های برنامه‌نویسی سطح بالا و همچنین تحت وب فریمورک‌هایی وجود دارد. به عنوان مثال محبوبترین فریمورک زبان PHP فریمورک لاراول می‌باشد؛ و یا برای زبان پایتون فریمورک جنگو را داریم. برای جاوا هم فریمورک‌های بسیار زیادی وجود دارد که می‌توانیم بگوییم محبوبترین و همچنین قدرتمندترین فریمورک جاوا Spring می‌باشد(البته بهتر است به این نکته هم اشاره کنیم که Spring خودش از چندین فریمورک تشکیل شده است و دنیای گسترده‌ای دارد). به صورت کلی هدف از توسعه این فریمورک زمینه سازی زیرساخت برای توسعه نرم افزار به نحوی بوده که در آن استفاده کنندگان تمرکز خود را بر روی منطق دامنه کاری خود گذاشته و فراهم سازی زیرساخت و یکپارچه سازی آن به سادگی قابل انجام است. اسپرینگ از ابتدای ارائه تا الان تغییرات زیادی داشته و بسیار قدرتمند و معروف شده است. این فریم ورک متن باز بوده و هدف اصلی آن توسعه برنامه های Enterprise است و بیشتر در پلتفرم javaEE مورد استفاده قرار می گیرد.

اسپرینگ یک فریم ورک ماژولار بوده و ماژول های آن در دسته بندی زیر قرار میگیرند :

  • ظرف هسته اسپرینگ : شامل ماژول پایه اسپرینگ است ( Beans , Core , …. ) که هسته اصلی اسپرینگ را تشکیل می دهند.
  • برنامه نویسی جنبه گرا (AOP) : این ماژول امکان پیاده سازی زیر سیستم های فرای پروژه را فراهم میکند.(به طور ساده میتواند عملیات در حین، قبل یا بعد از اجرای یک method را به آن اضافه کند).
  • احراز هویت و برسی مجوز : فرآیندهای امنیتی قابل تنظیم که طیف وسیعی از استانداردها، پروتکل ها، ابزار و شیوه ها را از طریق پروژه های امنیت اسپرینگ پشتیبانی میکند.
  • قرارداد بر روی تنظیمات : یک روش تولید سریع نرم افزار برای توسعه برنامه های سازمانی بر پایه اسپرینگ که در ماژول Spring Roo ارئه شده است.
  • دسترسی به داده ها : کار با سیستم های مدیریت پایگاه داده رابطه ای بر روی سکوی جاوا، با استفاده از JDBC و ابزارهای نگاشت شی-رابطه و سیستم های پایگاه داده NoSQL. در حال حاضر امکان ارتباط با پایگاه های داده SQL و NoSQL با سطح بالایی از انتزاع توسط پروژه های مستقل بر پایه Spring ایجاد شده است (پروژه های Spring Data ) و برنامه نویسان تمامی جوانب برنامه خود را با کمک SPI و API هایی که Spring در اختیار آنها قرار میدهد پیاده سازی می کنند.
  • ظرف وارونگی کنترل : پیکربندی اجزای نرم افزار و مدیریت چرخه عمر اشیاء جاوا، غالبا از طریق تزریق وابستگی.
  • پیام رسانی : ثبت اشیاء شنونده پیام، به صورت قابل تنظیم، برای دریافت پیام شفاف از صف پیام و از طریق JSM، بهبود ارسال پیام بر روی استاندارد واسطه های برنامه نویسی JSM .
  • وب (Web) : برای طراحی web بر اساس مدل MVC به کار میرود.
  • تست : این ماژول استفاده از ابزارهاییی مانند Junit و … را برای تست برنامه ها به ما میدهد.
  • ………………..

شکل زیر یک نمای کلی از ماژول های اسپرینگ را نمایش میدهد. شما میتوانید بر حسب نیاز خود تنها از ماژول های مورد نیازتان استفاده کنید و بقیه را کنار بگذارید.

 

خب حالا که فهمیدیم Spring‌ چیست باید بریم سراغ Spring Boot. ما هنگام استفاده از Spring درگیر مسائلی زیادی مثل کانفیگ‌هایی می‌شویم که ممکن است به علت گرفتن تمرکز برنامه‌نویس و یا توسعه‌دهنده از سرعت پیاده‌سازی و توسعه اپلیکیشن بکاهد و کار برنامه‌نویس را نیز سخت‌تر کند. در این میان Spring Boot حکم یک Initializer را برای فریمورک Spring بازی می‌کند که خیلی از کارها را خودش انجام داده و نیاز به درگیر شدن برنامه‌نویس با بسیاری از کانفیگ‌ها نیست و البته این روزها Spring Bootخودش به عنوان یک فریمورک شناخته می‌شود.

 

هدف کلی Spring Boot کاهش مراحل تکراری و تنظیمی مربوط به پیکربندی برنامه است و به صورت خودکار تنظیمات بسیاری از بخش‌های مختلف مانند تنظیمات وب، اتصال به پایگاه داده، تنظیمات مربوط به امنیت برنامه و موارد دیگر را انجام می‌دهد و به طور کلی همه‌ی موارد به جز مرحله‌ی پنجم در موارد بالا نیاز به ایجاد و یا پیکربندی توسط برنامه‌نویس نخواهد بود. جهت ایجاد یک برنامه‌ی وب توسط Spring Boot می‌توان ساختار کلی یک پروژه را با توجه به نیازمندی‌ها از start.spring.io دریافت کرد. شکل زیر

به عنوان مثال جهت ایجاد یک برنامه وب با کمک Spring Boot  با استفاده از دستور زیر می‌توان فایل‌ها و نیازمندی‌های اولیه را تعریف کرد.

$ curl -s https://start.spring.io/starter.zip -o myapp.zip -d type=maven-project –d dependencies=web

در این مرحله یک برنامه قابل اجرای وب با فریم‌ورک  Spring ایجاد و پیکربندی شده است و می‌توان کنترلرها و سرویس‌ها و کامپوننت‌های مورد نیاز برنامه را به آن اضافه کرد. به عنوان مثال با اضافه کردن کنترلر در مسیر \src\main\java\com\example  از فایل اکسترکت شده در مرحله قبل جهت تعریف کنترلر به شکل زیر عمل خواهیم کرد.

@RestController
class HelloWorldController {
     @RequestMapping("/")
     String home() {
                   return "Hello World!";
     }
}

 

با کمک دستور زیر می‌توانیم برنامه‌ی نوشته شده با Spring Boot را اجرا کنیم.

mvn spring-boot:run

پس از بازکردن آدرس http://localhost:8080 عبارت !!Hello World نمایش داده خواهد شد.به این ترتیب یک برنامه وب با کمک فریم‌ورک Spring در کمترین زمان ایجاد شده است.جهت جمع بندی مطالب ویژگی‌هایی که Spring Boot در برنامه نوشته شده با کمک این پروژه را ایجاد می‌کند را بررسی خواهیم کرد.

۱- با کمک Spring Boot امکان توسعه‌ی برنامه‌های بومی ابری که الگوهای ۱۲فاکتور را دنبال می‌کنند فراهم است.

۲-استفاده از Spring Boot منجر به کاهش زمان توسعه می‌شود که نتیجه‌ی آن افزایش بهره‌وری است.

۳-یک برنامه‌ی Spring سازمانی با کمک Spring Boot به سادگی ایجاد و توسعه داده می‌شود.

۴- نیازمندی‌های غیر عملیاتی مانند actuator و embedded container ها به صورت خودکار پیکربندی می‌شوند.

۵- امروزه مفهوم میکروسرویس‌ها با داشتن ویژگی‌های توسعه‌پذیری بالا، دسترس‌پذیری بالا، قابلیت اعتماد و … در بین برنامه‌نویسان اهمیت زیادی دارند که Spring Boot با ویژگی‌های خود به خوبی در این حیطه قابل تعریف و استفاده است.

امروزه به صورت کلی جهت ایجاد پروژه‌های Spring از پروژه‌ی Spring Boot استفاده می‌شود.

منابع:

مقدمه‌ای بر Spring Boot (جشنواره عید تا عید)

https://arcademy.ir/course/300/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-spring-boot
https://virgool.io/@morteza.mt65/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-spring-%D9%88-spring-boot-viwxtghkv5hv

برای دیدن فلیم های سینماییِ مهیج و جذاب”در حوزه فناوری اطلاعات، اوسینت و هوش مصنوعی“، بر روی اینجا کلیک کنید.

آدرس کانال تلگرام سایت بیگ دیتا:

t.me/bigdata_channel

آدرس کانال سروش ما:
https://sapp.ir/bigdata_channel

جهت دیدن سرفصل های دوره های آموزشی بر روی اینجا کلیک کنید.

جهت ثبت نام در دوره های آموزشی بر روی اینجا کلیک کنید.

Visits: 6914

همچنین ببینید

مراحل متن کاوی

استخراج کلمات کلیدی از متن فارسی با روش های آماری TF-IDF

بعد از مراحل نرمال سازی، حذف کلمات ایستا، تکه کردن کلمات درون متن و ریشه …

قطعه بندی متون

قطعه بندی متون فارسی (tokenize) با استفاده از جی هضم (Jhazm)

قطعه بندی متن (Tokenizer) در بخش های قبلی به روش های تشخیص زبان در متون …

دیدگاهتان را بنویسید