๊ด€๋ฆฌ ๋ฉ”๋‰ด

Coding Planet

Maven์ด๋ž€? POM.XML์—์„œ ์˜์กด์„ฑ ๊ด€๋ฆฌ, Maven ์‚ฌ์šฉํ•˜์—ฌ POM.XML์— DI ์ถ”๊ฐ€ํ•˜๊ธฐ ๋ณธ๋ฌธ

๐ŸŒฑSPRING

Maven์ด๋ž€? POM.XML์—์„œ ์˜์กด์„ฑ ๊ด€๋ฆฌ, Maven ์‚ฌ์šฉํ•˜์—ฌ POM.XML์— DI ์ถ”๊ฐ€ํ•˜๊ธฐ

jhj.sharon 2023. 5. 18. 16:22
๋ฐ˜์‘ํ˜•

 

 

 

1. Maven์ด๋ž€?

  • Maven์€ ์ž๋ฐ” ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ์˜ ๋นŒ๋“œ, ์ข…์†์„ฑ ๊ด€๋ฆฌ ๋ฐ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋„๊ตฌ์ด๋‹ค.
  • Apache ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋นŒ๋“œ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.
  • Maven์„ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ์ ํŠธ์˜ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. Maven์€ ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๊ฐ์ฒด ๋ชจ๋ธ(Project Object Model, POM)์„ ์‚ฌ์šฉํ•œ๋‹ค. 
  • POM์€ ํ”„๋กœ์ ํŠธ์˜ ์ข…์†์„ฑ, ๋นŒ๋“œ ์„ค์ •, ํ”Œ๋Ÿฌ๊ทธ์ธ ๋“ฑ์„ ์ •์˜ํ•˜๋Š” XML ํŒŒ์ผ์ด๋‹ค. Maven์€ POM ํŒŒ์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ํ•„์š”ํ•œ ์ข…์†์„ฑ์„ ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค. 

 

 

2. Maven ์‚ฌ์šฉํ•˜์—ฌ POM.XML์— DI ์ถ”๊ฐ€ํ•˜๊ธฐ

  • Maven์€ ์ค‘์•™์ €์žฅ์†Œ(Central Repository, ์œ„ ์‚ฌ์ง„์˜ ์‚ฌ์ดํŠธ)์—์„œ ์ข…์†์„ฑ์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์— ํฌํ•จ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ณ  Maven์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

1) ์ค‘์•™์ €์žฅ์†Œ์—์„œ ์ข…์†์„ฑ ๊ฒ€์ƒ‰ํ•˜๊ธฐ https://mvnrepository.com/

  • Google์—์„œ ๊ฐœ๋ฐœํ•œ ์ž๋ฐ” ๊ธฐ๋ฐ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ JSON์™€ ๊ฐ์ฒด๊ฐ„ ๋ฐ์ดํ„ฐ๋ณ€ํ™˜์„ ํ•ด์ฃผ๋Š” Gson์„ ๊ฒ€์ƒ‰ํ•ด๋ณด์ž

 

 

2) ์‚ฌ์šฉํ•  ๋ฒ„์ „์„ ํด๋ฆญํ•œ๋‹ค

 

 

 

3) dependency ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค

 

 

 

4) ๋ณธ์ธ ํ”„๋กœ์ ํŠธ์˜ POM.XML์˜ Dependencies์— ๋ณต์‚ฌํ•ด์„œ ๋ถ™์—ฌ๋„ฃ๋Š”๋‹ค

 

 

 

 

 

3. DI ์‚ฌ์šฉํ•˜๊ธฐ

  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋”ฐ๋กœ ๋‹ค์šด๋ฐ›์•„ ํ”„๋กœ์ ํŠธ์— ํฌํ•จ์‹œํ‚ค์ง€ ์•Š์•„๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ปจํŠธ๋กค๋Ÿฌ์—์„œ Gson์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•
Comments