๐ ๋ชฉ์ฐจ
- SpringBoot ๋?
- ํน์ง
- Spring Framework ์ Spring Boot ์ฐจ์ด์
๐ถ Spring Boot ๋?
์คํ๋ง ๋ถํธ(spring boot)๋ ์คํ๋ง์ ๋ ์ฝ๊ฒ ์ด์ฉํ๊ธฐ ์ํ ๋๊ตฌ๋ผ๊ณ ๋ณผ ์ ์๋ค. ์คํ๋ง์ ์ด์ฉํ์ฌ ๊ฐ๋ฐ์ ํ ๋, ์ ํ ํด์ผ ๋ ์์๋ค์ด ๋ง๋ค. ์ฌ๋ฌ๊ฐ์ง๋ฅผ ์ธํํด์ผ ๋๋ ์ง์ ์ฅ๋ฒฝ์ด ์กด์ฌํ์ฌ Spring ์ ์ฒ์ ๋ฐฐ์ฐ๋ ค๋ ์ฌ์ฉ์๋ค์๊ฒ๋ ์ด๋ ค์์ด ๋ ์ ์๋ค. Spring boot ๋ ๋งค์ฐ ๊ฐ๋จํ๊ฒ ํ๋ก์ ํธ๋ฅผ ์ค์ ํ ์ ์๊ฒ ํ์ฌ, spring ๊ฐ๋ฐ์ ์กฐ๊ธ ๋ ์ฝ๊ฒ ๋ง๋ค์ด์ฃผ๋ ์ญํ ์ ํ๊ณ ์๋ค.
๐ถ ํน์ง
์คํ๋ง ๋ถํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์คํ๋ง ํ๋ ์์ํฌ ํ์ฅํ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์คํ๋ง ํ๋ ์์ํฌ๋ ์ค์ ํด์ผ ํ ๊ธฐ๋ฅ๋ค์ด ๋๋ฌด ๋ง๊ณ ์ด๋ ค์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ํด๊ฒฐํ๊ณ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ๋ฐ ์์ด ๋งค์ฐ ์ค์ํ ๋น์ฆ๋์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์กฐ๊ธ ๋ ์๋์ง๋ฅผ ํฌ์ ํ ์ ์๊ฒ Spring์ ๋ง์ ๋ถ๋ถ์ ์๋ํํ์๊ณ , ๋ง์ ๊ฐ๋ฐ์๋ค์ด ํ์ฌ Spring Boot์ ์ด์ฉํ์ฌ ๊ฐ๋ฐ์ ์งํํ๊ณ ์์ต๋๋ค.
- Tomcat, Jetty or Undertow ํฌํจ ( .WAR ํ์ผ๋ค์ ๋ฐฐํฌํ ํ์ ์์ )
- ๋น๋ ๊ตฌ์ฑ์ ๋จ์ํ ํ๊ธฐ ์ํด์ 'Starter' ์ข ์์ฑ์ ์ ๊ณตํ๋ค.
- ์ธ์ ๋ ์ง ํ์ํ ๋ ์คํ๋ง & ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์๋์ผ๋ก ๊ตฌ์ฑํ๋ค.
๐ถ Spring Framework์ Spring Boot ์ฐจ์ด์
๐ Dependency (์์กด์ฑ)
Spring Framework๋ dependency๋ฅผ ์ค์ ํด์ค ๋ ์ค์ ํ์ผ์ด ๋งค์ฐ ๊ธธ๊ณ , ๋ชจ๋ dependency์ ๋ํด ๋ฒ์ ๊ด๋ฆฌ๋ ํ๋ ํ๋ ํด์ค์ผ ํฉ๋๋ค. ( Spring์ ๋ช ๋ฒ์ ์ด ํธํ์ด ๋๋์ง. ์ด๋ค ์์กด์ฑ์ด ํ์ํ์ง ํ์ธํ๋ ๊ณผ์ ์ด ๊ผญ ํ์ํ์๋ค. )
ํ์ง๋ง Spring Boot๋ starter์ ํตํด์ ์๋์ผ๋ก ๊ด๋ฆฌํด์ฃผ๊ณ dependency ํ๋๋ก ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
starter๋ ํน์ ๋ชฉ์ ์ ๋ฌ์ฑํ๊ธฐ ์ํ ์์กด์ฑ ๊ทธ๋ฃน์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ดํดํ๊ธฐ ์ฝ๋ค. starter๋ ๋ง์น npm์ฒ๋ผ ๊ฐํธํ๊ฒ dependency๋ฅผ ์ ๊ณตํด์ฃผ๋๋ฐ, ๋ง์ฝ ์ฐ๋ฆฌ๊ฐ JPA๊ฐ ํ์ํ๋ค๋ฉด prom.xml(Maven)์ด๋ build.gradle(Gradle)์ 'spring-boot-starter-data-jpa'๋ง ์ถ๊ฐํด์ฃผ๋ฉด spring boot๊ฐ ๊ทธ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์์์ ๋ฐ์์จ๋ค.
๐ Deployment (๋ฐฐํฌ)
Spring Boot๋ ๋จ๋ ์ดํ๋ฆฌ์ผ์ด์ ๋ง์ผ๋ก๋ ๋ฐฐํฌ๊ฐ ๋๋๋ก ๋์ด์์ต๋๋ค. Spring Framework๋ก ๊ฐ๋ฐํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ, .warํ์ผ์ Web Application Server์ ๋ด์ ๋ฐฐํฌํ์ง๋ง, Spring Boot๋ ๋ด์ฅ ์๋ฒ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ .jar ํ์ผ๋ก ๊ฐํธํ๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
๐ Configuration
Spring Framework์ ๊ฒฝ์ฐ configuration ์ค์ ๋ ๋งค์ฐ ๊ธธ๊ณ ๋ชจ๋ annotation & bean ๋ฑ๋ก ๋ฑ์ ์ค์ ํด์ค์ผ ํฉ๋๋ค.
ํ์ง๋ง Spring Boot๋ application.properties ํ์ผ์ ์ค์ ํ๋ฉด ๋ฉ๋๋ค.
Spring Framework์ ๋ฌ๋ฆฌ Spring Boot์๋ AutoConfiguration ์ด๋ผ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
Spring Boot๋ก ์คํํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์์ํ๋ฉด ํด๋์ค์ @SpringBootApplication์ด๋ผ๋ ์ด๋ ธํ ์ด์ ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๊ฒ ์กด์ฌํ์ง ์์ผ๋ฉด ์ผ๋ฐ ์๋ฐ ํ๋ก๊ทธ๋จ๊ณผ ๋์ผํ๋ค๊ณ ํ ์ ์์ต๋๋ค. ํด๋น ์ด๋ ธํ ์ด์ ๋๋ถ์ ๋ง์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ด์ฅ ํฐ์บฃ ์๋ฒ ๋ฑ์ด ์คํ ๋ ์ ์์ต๋๋ค.
reference
'Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring Bean ์ด๋? (0) | 2022.10.12 |
---|---|
Spring FrameWork (0) | 2022.09.29 |
Spring boot๋ก Gradle Project ์์ฑ (0) | 2022.01.07 |
IntelliJ๋ฅผ ์ค์น ํ Run ServletAppliaction์ด ์คํ๋๋๋ฐ apache tomcat์ด ์คํ ์๋๋ ์ด์ ... (0) | 2021.12.15 |