Spring Framework๋ฅผ ์ฌ์ฉํ ๋ ์์ฃผํ๋ ์ค์๋ ๋ง์ต๋๋ค. ์ด ์ค์์ ๋ํ์ ์ธ ์ค์ 10๊ฐ์ง๋ฅผ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
- Bean ์ด๋ฆ ์ถฉ๋: ์คํ๋ง์์๋ Bean ์ด๋ฆ์ด ์ค๋ณต๋๋ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ ๊ฐ๊ฐ์ Bean์ ๊ณ ์ ํ ์ด๋ฆ์ ์ง์ ํด์ผ ํฉ๋๋ค.
- Singleton Scope ์ฌ์ฉ: ๊ธฐ๋ณธ์ ์ผ๋ก ์คํ๋ง์์๋ Bean์ด Singleton Scope๋ก ์์ฑ๋ฉ๋๋ค. ์ด๋ ๋ชจ๋ ์์ฒญ์ ๋ํด ๋์ผํ ์ธ์คํด์ค๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ฏ๋ก, ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ณต์ ํ ํ์๊ฐ ์๋ ๊ฐ์ฒด์ ๋ํด์๋ ๋ค๋ฅธ Scope๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- Component Scan ๋ฒ์ ์ค์ : ์คํ๋ง์์ Component Scan์ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก Bean์ ๋ฑ๋กํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ํจํค์ง๋ฅผ ์ค์บํ๋ฉด ๋ถํ์ํ Bean์ด ๋ฑ๋ก๋ ์ ์์ผ๋ฏ๋ก, ๋ฒ์๋ฅผ ๋ช ์์ ์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
- ํธ๋์ญ์ ์ฒ๋ฆฌ: ํธ๋์ญ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ, ์ ์ ํ ํธ๋์ญ์ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ์ ํํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ๊ฑฐ๋, ์ ์ธ์ ํธ๋์ญ์ ๊ด๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋์: ์คํ๋ง์์๋ Bean์ด ์์ฑ๋๊ณ ์ ๊ฑฐ๋ ๋ ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์๋ง์ Scope๋ฅผ ์ฌ์ฉํ๊ณ , Bean์ ์ด๊ธฐํ ๋ฐ ์ข ๋ฃ ์์ ์ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
- @Autowired ๋์ @Resource ์ฌ์ฉ: @Autowired๋ ์คํ๋ง์์ ์ฌ์ฉ๋๋ ์ด๋ ธํ ์ด์ ์ผ๋ก, ๋น์ ์๋์ผ๋ก ์ฃผ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ @Autowired๊ฐ ์ ์ฉ๋๋ Bean์ด ํ ๊ฐ์ผ ๊ฒฝ์ฐ๋ ๋ฌธ์ ๊ฐ ์์ง๋ง, ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ @Resource ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ํ๋กํผํฐ ํ์ผ ๊ด๋ฆฌ: ์คํ๋ง์์๋ ํ๋กํผํฐ ํ์ผ์ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ๋ ๊ฐ๋ค์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ๋กํผํฐ ํ์ผ์ ์์น ๋ฐ ํ์ผ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ, ๊ด๋ จ๋ ์ค์ ์ ๋ชจ๋ ๋ณ๊ฒฝํด ์ฃผ์ด์ผ ํฉ๋๋ค.
- ์ปจํธ๋กค๋ฌ ์์ฑ: ์คํ๋ง์์๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํ์ฌ ํด๋ผ์ด์ธํธ ์์ฒญ์ ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋, ํ๋ผ๋ฏธํฐ ๊ฒ์ฆ, ์์ธ ์ฒ๋ฆฌ, HTTP ์๋ต ์ฝ๋ ์ฒ๋ฆฌ ๋ฑ์ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํด์ฃผ์ด์ผ ํฉ๋๋ค.
- JPA ์ฌ์ฉ: JPA๋ฅผ ์ฌ์ฉํ ๋๋ ์ ์ ํ ์ค์ ์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ํนํ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๊ฒฐ ์ค์ , ํธ๋์ญ์ ๊ด๋ฆฌ, ์ฟผ๋ฆฌ ์ต์ ํ ๋ฑ์ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํด์ฃผ์ด์ผ ํฉ๋๋ค.
- ์ฑ๋ฅ ์ต์ ํ: ์คํ๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํด์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์บ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ถํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ์ ์ต์ํํ๊ฑฐ๋, ๋น ์์ฑ ์๊ฐ์ ์ต์ ํํ๊ธฐ ์ํด Lazy Initialization์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด ์ธ์๋ ์คํ๋ง์์๋ ๋ง์ ์ค์ ๋ฐ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ด ์ ๊ณต๋๊ธฐ ๋๋ฌธ์, ๊ฐ๊ฐ์ ์ํฉ์ ๋ง๊ฒ ์ ์ ํ ๋ฐฉ๋ฒ์ ์ ํํ์ฌ ๊ฐ๋ฐํด์ผ ํฉ๋๋ค. ๋ํ, ์คํ๋ง์์ ์ ๊ณตํ๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๋๋ก ํ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ ๋ฐ ์ ์ง๋ณด์๊ฐ ํจ์ฌ ์์ํด์ง ์ ์์ต๋๋ค.
'๐ค์ ๋ณด๋ณด์ > ๐๋ธ๋ฃจํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ ๋ณด] ๋์งํธ ํฌ๋ ์์ด๋ (0) | 2023.02.15 |
---|---|
XDR EDR ์ฐจ์ด(CrowdStrike์ ํ์ฌ ๋น๊ต ๋ฉํธ) (0) | 2023.01.12 |
[์ ๋ณด] WAF ์ ์ฒด ๋ญํน 2022 (0) | 2022.10.07 |
Spring Security ๋ก๊ทธ์ธ ๊ฐ์ฒด ๊ตฌํ (0) | 2022.10.02 |
[์ ๋ณด] Mysql ๊ณ์ ์์ฑ ๋ฐ ๊ถํ๋ถ์ฌ (1) | 2022.09.28 |