یکم با spring boot حال کردم :\)

این پست دو بخش دارد که بخش اول تجربیات کم من از spring boot و بخش بعد ( بخش دوم ) آموزش spring boot است .بخش اولخوب دیشت کلی برای نصب spring boot تلاش کردم. و موفق شدم و امروز یادگیری اش را شروع کردم.چکمه بهار عزیز واقعا حقت هست که اینقدر ازت کم استفاده کنند و جنگو رو به تو ترجیح بدهند . آخه کی شده فقط به خاطر نداشتن یک وابستگی نصب خراب باشد .کی شده تنها به خاطر عدم وجود یک آپشن --quiet یک فریمورک کار نکند .چرا با نشخه های قدیمی شازگار نیستی مگر من گه با تو کردم که تو چنین کردی با مناما spring boot جالب هست ولی پیش نیاز هایی می طلبدصبر ایوباعصاب صبوریک ابر کامپیوتر ( البته پیش خودمان بماند که نیمی از برنامه هایی جاوایی این طوری هستند )بقیه پیش نیاز ها که معلوم هستندبخش دوم در این آموزش تنها یک ادیتور ساده مثل Gedit | nano | vim | vscode | atom | notepadpp | notepadqq نیاز هست . به integrated development environment ای مثل eclipse و یا spring tool suite نیاز نیستامورز صبح بالاخره spring boot رو به یک هزار و دو بد بختی نصب کردم .از spring quick start guide و spring initializer در سایت start.spring.io استفاده کردم . نکات : در بخش dependencies ( Ctrl+B )لطفا و حتما وابستگی spring web ( بنویسید web گزینه اولی که برایتان می آید ) رو اضافه کنید .بیلد هم بگذارید apache maven در درون پرانتز هم باید عرض کنم ( لطفا از apt نصب نکنید . به چند ورژن جدیدتر نیاز هست )بعدش که دکمه generate رو بزنید و فایل رو unzip کنید حالا در فایل src/main/java/DemoApplication را با یک چیزی باز کنید .نکته ممکن هست به جای DemoApplication نام = (anything) application باشید .به هر حال باز کنید و کد زیر را بنویسید . ( ابتدا محتویات فایل رو پاک کنید بعد بنویسید )package com.example.demo; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @org.springframework.web.bind.annotation.RestController public class DemoApplication { @org.springframework.web.bind.annotation.GetMapping(&quot/&quot) public String index() { return &quotHello , World&quot } public static void main(String[] cli_args) { org.springframework.boot.SpringApplication.run( DemoApplication.class , cli_args); } }توضیح کد .package com.example.demoیعنی این فایل جزوی از ماژول/پیکیج ای به نام com.example.demo می باشد.import org.springframework.boot.autoconfigure.SpringBootApplication;به معنی این هست که از این به بعد هر وقت من نوشتم SpringBootApplication تو بدون یعنی همون org.springframework.boot.autoconfigure.SpringBootApplication هست .بعدش یک کلاس اصلی هم نام با فایل تعریف کردیم . و با @SpringBootApplication به اسپرینگ گفتیم که یک برنامه spring boot هست و با @org.springframework.web.bind.annotation.RestController هم گفتیم که یعنی یک RESTful Api در زمان runtime ایجاد کن که request های client رو به این می دهد ( که اگر این annotation رو اعلام نکنید و از @RequestMapping استفاده کنیم به ما ارور whitelabel error pages با status = 404 می دهد )@org.springframework.web.bind.annotation.GetMapping("/") public String index() { return "Hello , World"; } @org.springframework.web.bind.annotation.GetMapping("/") یعنی اگر کاربر به آدرس "/" آمد تو تابع زیر این annotation رو استفاده کن . که خوب شبیه Flask().route(&quot/') def fn(): return &quotHello , World&quotپس بنابراین تابع index یک رشته را بر میگرداند که spring boot همانند flask آن را به صورت html به مرورگر می دهد. ( دقت کنید که تابع public باشد و همچنین static نباشد )و تابع main در این تابع ما از تابع run از کلاس org.springframework.boot.SpringApplication برای اجرا برنامه استفاده کردیم . و دو پارامتر به آن pass دادیم .۱) ویژگی یا attribute ای از کلاس اصلی که اسم ویژگی class هست ( لطفا در بخش کامنت ها بگویید این class.class چه کار می کند )۲) ارگومنت های command line interface ( CLI ) که در پایتون = sys.argv و در C/c++ = __ main(int argc , char **argv) که اولین آرگومنت تابع main هم ارگومنت های خط فرمان هست .اجرا کنیدترمینال رو در آنجایی که mvnw.cmd و یا mvnw هست باز کنید وگنو عزیز :./mnvw spring-boot:run --quietدر ویندوز :mnvw.exe spring-boot:run --quiet,و بعدش بروید به localhost:8080 (‌ پورت ۸۰۸۰ )موفق باشید !-) بدورد