اسپرینگ بوت (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 و … را برای تست برنامه ها به ما میدهد.
  • ………………..

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

d8a2d985d988d8b2d8b4 d981d8a7d8b1d8b3db8c d8a7d8b3d9bed8b1db8cd986daaf d8a8d988d8aa spring boot d8a8d987 d8b5d988d8b1d8aa daa9d8a7d8b1d8a8

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

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

d8a2d985d988d8b2d8b4 d981d8a7d8b1d8b3db8c d8a7d8b3d9bed8b1db8cd986daaf d8a8d988d8aa spring boot d8a8d987 d8b5d988d8b1d8aa daa9d8a7d8b1d8a8

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

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

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

پس از بازکردن آدرس 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

مدیریت سرور پشتیبانی و مشاوره – ثبت دامنه

نوشته های مشابه