Full Stack Development with Spring Boot and React (အခန်း ၁)
Published: 2022-12-23 09:39:23

**Environment နှင့် tool များကို Setup လုပ်ခြင်း(Backend)**

ဒီအခန်းမှာ အောက်ပါ topic များကို ကြည့်သွားမှာပါ။

- Eclipse install လုပ်ခြင်း
- Maven အကြောင်း
- Spring Initializer ကို အသုံးပြုခြင်း

**Eclipse ကို install လုပ်ခြင်း**

https://www.eclipse.org/downloads/packages/ ကိုသွားပြီး 
"Eclipse IDE for Enterprise Java and Web Developers"
ကို download လုပ်ပါ။

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jttehds60ap47393qb9n.png)



ပြီးရင် JDK 11 ကို download လုပ်ပြီး install လုပ်ပါ။
https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ogqwdknj3dyntui3klsy.png)



ပြီးရင် Environment Variable က PATH မှာ JDK 11 ရဲ့ bin folder path ကိုထည့်ပါ။ များသောအားဖြင့် C:\Program Files\Java ထဲမှာရှိပါတယ်။

JAVA_HOME ဆိုတဲ့ Environment ကို အသစ်ထည့်ပြီး JDK 11 ရဲ့ root folder path ကိုထည့်ပါ။

**Maven အကြောင်း**

Maven ဆိုတာ package manager ဖြစ်ပါတယ်။ Maven zip file ကို download လုပ်ပါ။

ပြီးရင် extract လုပ်ပြီး Environment Variable က Path မှာ maven.exe ရှိတဲ့ folder ကို ထည့်ပါ။

cmd ကို ဖွင့်ပါ။

`mvn -v `

configuration တွေမှန်ခဲ့ရင် maven က JDK 11 ကို သုံးနေမှာ ဖြစ်ပြီး အောက်ပါ output ထွက်လာပါလိမ့်မယ်။


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/66mltjdiwm622pkyxwp8.png)


**Spring Initializr ကိုသုံးခြင်း**

ပရောဂျက်ကို အစအဆုံး configure လုပ်စရာမလိုပဲ Spring Initializr ကို သုံးနိုင်ပါတယ်။ အောက်ပါအတိုင်း Spring Initializr ကို ရွေးပေးထားပါ


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t46igvrl2vjk64vz4mz5.png)

ပြီးရင် Dependencies နှစ်ခုထည့်ပါမယ်။ Add Dependencies ကိုနှိပ်ပြီး ရွေးပါ။

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vljsn7j5u4ucsmbizm23.png)


ဒါပြီးရင်တော့ Eclipse ကို Run ပါ။
File -> Import -> Existing Maven Project ကို ရွေးပြီး Spring Initializr က ရလာတဲ့ project folder ကို ရွေးပေးလိုက်ပါ



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k02pthkpju1mrti4vhlb.png)


DemoApplication.java ဆိုတဲ့ file မှာ main method ပါနေတာကိုတွေ့ရပါလိမ့်မယ်။

```java
package com.packt.demo;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}

}
```

ဒီနေရာမှာ @SpringBootApplication ဆိုတဲ့ annotation ကို တွေ့ရမယ်။ ဒီ annotation ဟာ annotation သုံးခုကို တစ်ခုတည်းပေါင်းခေါ်ထားတာပါ။

@EnableAutoConfiguration (dependencies တွေပေါ်မှာမူတည်ပြီး auto configure လုပ်ပေးနိုင်တယ်။)
@ComponentScan (project ထဲမှာရှိတဲ့ component တွေအကုန် scan လုပ်နိုင်တယ်။)
@Configure (ဒီclass ကို bean definition အဖြစ်သုံးနိုင်တယ်)

@SpringBootApplication သုံးလိုက်ရင် အဲဒီ annotation သုံးခုစလုံးကိုခေါ်ပြီးသားဖြစ်သွားပါတယ်။

 
Spring Boot ကို server အနေနဲ့ run ချင်ရင် DemoApplication.java ကို Right Click နှိပ်ပြီး Run As -> Java Application လို့ ရွေးလိုက်ရုံနဲ့ localhost:8080 မှာ run နေမှာဖြစ်ပါတယ်။


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m4xjh1ez99iaqqzdck8s.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ibgi9wnrbqk1dtdagket.png)



-
အခန်း(၁) ပြီး