์ค๋์ ํฐ๋ฏธ๋์์ Springboot Application ์ ์คํ์ํค๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๋ ค ํ๋ค.
ํ์ฌ Microservice Application ์ ๊ฐ๋ฐํ๊ธฐ ์ํด์ ์ฃผ๋ก Eureka์ Gateway ๋ฅผ ํจ๊ป ๋์์ํค๋ ์ผ์ด ๋ง์์ก๋ค.
Service Discovery ์ญํ ์ ์ํํ๋ Eureka ์๋ฒ๋ ๋จ์ง ์๋น์ค์ Registry์ Discovery ์ํฉ์์ ์ผ๋๊ณ ๋ง ์์ด์ผ ํ๋ ์ํฉ์ด ์์ฃผ ๋ฐ์ํ๋๋ฐ, ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์ํด์๋ Eureka ์๋ฒ์ Gateway ๋ฅผ Intellij ์์ ์ผ๋๋ ๊ฒ์ด ๋๋ค์์ด๋ค.
ํ์ง๋ง Intellij ๋ ๋ค์ํ ๊ธฐ๋ฅ์ ๊ฐ๊ณ ์๋ ์กฐ๊ธ ๋ฌด๊ฑฐ์ด IDE ์ด๊ธฐ ๋๋ฌธ์ ํด๋น PC์ ๋ฆฌ์์ค๋ฅผ ๋ง์ด ๋จน์ด ๋ถํธํ ์ํฉ์ด ์ด๋ง์ ๋ง์ด ์๋๋ค.
๊ทธ๋ด ๋ ๋ง์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๊ฒ ์ง๋ง ๋ด๊ฐ ์์ฃผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ธ ๋น๋ ๋๊ตฌ๋ฅผ ์ด์ฉํ Application ์คํ ๋ฐฉ๋ฒ์ ๊ณต์ ํ๋ ค ํ๋ค.
์ค๋น๋ฌผ
์ค๋น๋ฌผ์ ๊ฐ๊ฐ์ ๋ง๋ Spring boot Application๊ณผ Gradle ํน์ Maven ์ด๋ฉด ๋๋ค.
- ๋น๋ ๋๊ตฌ
- Gradle
- Maven
- Spring boot application
- Terminal
homebrew ์ค์น
์ฐ์ ํจํค์ง ๊ด๋ฆฌ ์์คํ ์ธ homebrew ๋ฅผ ์ค์นํด๋ณด์.
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Maven๊ณผ Gradle ์ brew๋ก ์ค์น
๋น๋ ๋๊ตฌ์ธ gradle๊ณผ maven์ ๊ฐ์์ springboot application ์คํ์ ๋ง๊ฒ ํ๋๋ง ์ค์นํด๋ ์ข๋ค.
maven ์ค์น
brew install maven
gradle ์ค์น
brew install gradle
์ค์น๊ฐ ์๋ฃ๋์์ผ๋ฉด gradle -v
ํน์ mvn -v
๋ก ์ ์ค์น๋์๋์ง ํ์ธํ์.
Spring Boot Application ์์ฑํ๊ธฐ
๊ธฐ์กด์ Spring Boot Application ์ด ์ค๋น๋์ด์๋ ์ฌ๋์ ํด๋น ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ๋ฉด ๋๊ณ ๋ง์ฝ ์ค๋น๋์ด ์์ง ์๋ค๋ฉด ๊ฐ์๊ฐ ์ํ๋ ๊ธฐ๋ฅ์ ๊ฐ๋ Spring Boot Project๋ฅผ ์์ฑํ์.
Application.java
@SpringBootApplication
public class UserServiceApplication {
public static void main(String[] args) {
SpringApplication.run(UserServiceApplication.class, args);
}
}
Controller.java
@RestController
public void Controller {
@GetMapping("/")
public String test() {
return "User ์๋น์ค์ ๊ธฐ๋ณธ ๋์ Port: {" + port +"}";
}
}
Maven ๋ก Spring Boot application ์คํํ๊ธฐ
$ mvn spring-boot:run
Gradle ๋ก Spring Boot application ์คํํ๊ธฐ
$ gradle bootRun
๊ทธ๋ผ ๋ค์๊ณผ ๊ฐ์ด ํฐ๋ฏธ๋ ํ๊ฒฝ์์ ์ ์คํ๋๋ ๊ฒ์ ๋ณผ ์ ์๊ณ ๋ธ๋ผ์ฐ์ ์์๋ ์ ์์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ ์ํ๊ฐ ๋๋ค.
๋๊ธ