์คํ๋ง์ ๊ธฐ์กด ๊ธฐ์ ์ ๋ณต์ก์ฑ์ ํฌ๊ฒ ์ค์ธ ํ๋ ์์ํฌ์ง๋ง, ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฌ๋ฌ ๊ฐ์ง์ ์ฌํญ๋ค์ ์ค์ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
Spring Boot๋ ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ์คํ๋ง์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค ๋ ํ์ํ ์ค์ ์ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํด์ฃผ๋ ๋ณ๋์ ํ๋ ์์ํฌ์
๋๋ค.
์ค์ ์ ๋ณด๋ฅผ ๊ฐ๋ตํํ ์ ์๋ ์ด์ ๋ Spring Boot๊ฐ ๊ธฐ์กด ๋ณต์กํ ์ค์ ์ ๋์ ํ๊ณ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
์ด๊ธฐ ์ค์ ์ ์์์ผ ํ๋ ์๊ฐ๊ณผ ๋
ธ๋ ฅ์ ์ ์ฝํ์ฌ ๊ฐ๋ฐ์๋ ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌํํ๋ ๋ฐ์ ์ง์คํ ์ ์์ต๋๋ค.
๋ํ ๊ธฐ์กด ๋ฐฐํฌ ์ ๋ณ๋์ ์ธ์ฅ ์น ์๋ฒ๋ฅผ ์ค์น ํ ํ๋ก์ ํธ๋ฅผ war ํ์ผ๋ก ํ๋ํด์ผ ํด์ ๋๋ฆฌ๊ณ ๋ฒ๊ฑฐ๋ก์ ์ต๋๋ค.
Spring Boot๋ ์์ฒด์ ์ธ ์น ์๋ฒ๋ฅผ ๋ด์ฅํ๊ณ ์์ด ๋น ๋ฅด๊ณ ๊ฐํธํ๊ฒ ๋ฐฐํฌ๋ฅผ ์งํํ ์ ์์ต๋๋ค.
๋
๋ฆฝ์ ์ผ๋ก ์คํ ๊ฐ๋ฅํ jar ํ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ๋น๋ํ ์ ์์ด ํด๋ผ์ฐ๋ ์๋น์ค ๋ฐ ๋์ปค์ ๊ฐ์ ๊ฐ์ํ ํ๊ฒฝ์ ๋น ๋ฅด๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
Spring Framework์ ๋ฌ๋ฆฌ Spring Boot์๋ AutoConfiguration์ด ์์ต๋๋ค.
SpringBoot๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค๋ฉด ํด๋์ค์ @SpringBootApplication์ด๋ผ๋ ์ด๋
ธํ
์ด์
์ ํ์ธํ ์ ์์ต๋๋ค.
์ด ์ด๋
ธํ
์ด์
๋๋ถ์ ๋ง์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ด์ฅ ํฐ์บฃ ์๋ฒ ๋ฑ์ด ์คํ๋ ์ ์์ต๋๋ค.
์ด๋ฅผ ์ ๊ฑฐํ๊ณ ์คํํ๋ฉด ์ผ๋ฐ์ ์ธ ์๋ฐ ํ๋ก๊ทธ๋จ๊ณผ ๋์ผํ๊ฒ ์คํ๋ฉ๋๋ค.
๐ก @SpringBootApplication ๋ด๋ถ ๋ค์ฌ๋ค๋ณด๊ธฐ
@ComponentScan: @Component, @Controller, @Repository, @Service ์ด๋
ธํ
์ด์
์ด ๋ถ์ด์๋ ๊ฐ์ฒด๋ค์ ์ค์บํ์ฌ ์๋์ผ๋ก Bean์ ๋ฑ๋กํด ์ค๋๋ค.
@EnableAutoConfiguration: @ComponentScan ์ดํ ์ฌ์ ์ ์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ Bean์ ๋ฑ๋กํด์ค๋๋ค.