1. ์คํ๋ง ๋ถํธ ์์ํ๊ธฐ
Less than 1 minute
1. ์คํ๋ง ๋ถํธ ์์ํ๊ธฐ ๊ด๋ จ
namjunemy/TIL - [์คํ๋ง ๋ถํธ ๊ฐ๋
๊ณผ ํ์ฉ] 1. ์คํ๋ง ๋ถํธ ์์ํ๊ธฐ
[์คํ๋ง ๋ถํธ ๊ฐ๋
๊ณผ ํ์ฉ] 1. ์คํ๋ง ๋ถํธ ์์ํ๊ธฐ
01. ์คํ๋ง ๋ถํธ ์๊ฐ
- ์คํ๋ง ๋ถํธ ๊ณต์ ๋ฌธ์์ ๋์ ์๋ ์คํ๋ง ๋ถํธ ์๊ฐ
- ์์ฝํ์๋ฉด,
- ์คํ๋ง ๋ถํธ๋ production ์์ค์ ๋ ๋ฆฝ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๋ง๋ค ์ ์๋๋ก ๋์์ค๋ค.
- Opinionated view๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ปจ๋ฒค์ . ์ฆ, ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ธ๋ค๊ณ ํ๋ ์ค์ ๋ค์ ์คํ๋ง ๋ถํธ๊ฐ ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ์ ๊ณตํ๋ค. ๊ทธ ์ค์ ์๋ ์๋ํํฐ ํ๋ซํผ(๊ฐ์ฅ ๋ํ์ ์ผ๋ก ํฐ์บฃ)์ ๋ํ ์ค์ ๋ ํฌํจ ๋๋ค.
- ๋ชจ๋ ์คํ๋ง ๊ฐ๋ฐ์ ์์ด์ ๋ ๋น ๋ฅด๊ณ ๋ ํญ๋์ ์ฌ์ฉ์ฑ์ ์ ๊ณตํด์ค๋ค.
- Opinionated view๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์ ๊ณตํ์ง๋ง, ์ํ๋๋๋ก ์๊ตฌ์ฌํญ์ ๋ง๊ฒ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋ฐ๊ฟ ์ ์๋ค. ์ด ๋ถ๋ถ ๋๋ฌธ์ ์คํ๋ง๋ถํธ๊ฐ ๊ณ์ํด์ ๋๋ฆฌ ์ฌ์ฉ๋ ์ ์๋ค.
- ๋น์ฆ๋์ค ๋ก์ง์ ํ์ํ ๊ธฐ๋ฅ ๋ฟ๋ง์๋๋ผ, non-functional features๋ฅผ ์ ๊ณตํ๋ค.(์๋ฅผ ๋ค์ด, embedded servers, security, metrics, health checks and externalized configuration)
- ์๋ฐ 8 ์ด์ ๋ถํฐ, ์๋ธ๋ฆฟ 3.1 ์ด์ ๋ฒ์ ์ ์ฌ์ฉํ๋ฉด ๋ฌธ์ ์๋ค.
02. ์คํ๋ง ๋ถํธ ์์ํ๊ธฐ
- intellij idea > spring initializer
Spring Boot Reference Guide
10.1.2 Gradle Installation
03. ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ ์์ฑ๊ธฐ
- start.spring.io ์์ ๋ถํธ ํ๋ก์ ํธ ๋ง๋๋ ๋ฐฉ๋ฒ๋ ์๋ค.
04. ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ ๊ตฌ์กฐ
๋ค๋ง, ์คํ๋ง ๋ถํธ์์๋ @SpringBootApplication
์ ๋
ธํ
์ด์
์ด ๋ถ์ด์๋ Main ์ ํ๋ฆฌ์ผ์ด์
ํด๋์ค์ ์์น๋ฅผ ํ๋ก์ ํธ ๋ํดํธ ํจํค์ง์ ๋ฃจํธ์ ์์น์ํค๋ ๊ฒ์ ์ถ์ฒํ๋ค.(์๋ ๊ตฌ์กฐ์์ ์์น ์ฐธ์กฐ) @ComponentScan
์ ๋
ธํ
์ด์
์ด ํด๋น ํจํค์ง ๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก io.namjune.springbootgettingstarted
ํจํค์ง ํ์ ํจํค์ง๋ค์ ์ปดํฌ๋ํธ ์ค์บํด์ ๋น์ ๋ฑ๋กํ๊ฒ ๋๋ค.
๋ง์ฝ src/java/
์๋์ ๋ฐ๋ก ์์นํ๋ฉด, ๋ถํ์ํ๊ฒ ๋ชจ๋ ํจํค์ง์ ๋ํด @ComponentScan
์ด ๋์ํ๊ฒ ๋๋ค.
Spring Boot Reference Guide
6.2. Structuring Your Code
ํด๋๊ตฌ์กฐ
- src
- .
main/java
(java ์์ค์ฝ๋)io.namjune.springbootgettingstarted
- .
SpringBootGettingStarted.java
(@SpringBootApplication
์ ๋ ธํ ์ด์ ์ ์ธ๋์ด์๋ Main ํด๋์ค)
- .
- .
resources
(java ์์ค ์ฝ๋๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ฒ. classpath root์ด๋ค. ์ด ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก java ์์ค์ฝ๋์์ resources ๋๋ ํ ๋ฆฌ์ ํ์ ๋ชฉ๋ก์ ์ฐธ์กฐํ ์ ์๋ค.)
- test
- .java
- .resources
- .