Skip to content

Latest commit

ย 

History

History
54 lines (44 loc) ยท 3.28 KB

File metadata and controls

54 lines (44 loc) ยท 3.28 KB

์Šคํ”„๋ง ๋ถ€ํŠธ

1.1 ์Šคํ”„๋ง ๋ถ€ํŠธ ์†Œ๊ฐœ

  • ์Šคํ”„๋ง์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ณ ์ž ๋งŒ๋“  ํ”„๋กœ์ ํŠธ
  • ํ•„์š”ํ•œ ํ™˜๊ฒฝ ์„ค์ •์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

1.1.1 ์Šคํ”„๋ง ๋ถ€ํŠธ ํŠน์ง•

  • ์ž„๋ฒ ๋””๋“œ ํ†ฐ์บฃ,์ œํ‹ฐ,์–ธ๋”ํ† ์šฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋…๋ฆฝ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•œ ์Šคํ”„๋ง ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
  • ํ†ตํ•ฉ ์Šคํƒ€ํ„ฐ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ฉ”์ด๋ธ/๊ทธ๋ ˆ์ด๋“ค ๊ตฌ์„ฑ ๊ฐ„์†Œํ™”
  • ์Šคํƒ€ํ„ฐ๋ฅผ ํ†ตํ•œ ์ž๋™ํ™”๋œ ์Šคํ”„๋ง ์„ค์ • ์ œ๊ณต
  • ๋ฒˆ๊ฑฐ๋กœ์šด XML์„ค์ •์„ ์š”๊ตฌํ•˜์ง€ ์•Š์Œ
  • JAR์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋ฐ” ์˜ต์…˜๋งŒ์œผ๋กœ๋„ ๋ฐฐํฌ ๊ฐ€๋Šฅ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์Šคํ”„๋ง ์•ก์ธ„์—์ดํ„ฐ ์ œ๊ณต

1.1.2 ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ ์Šคํ”„๋ง

  • ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๋Š” ํฐ ํ‹€์— ์†ํ•˜๋Š” ๋„๊ตฌ

1.3 ์Šคํ”„๋ง ๋ถ€ํŠธ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒŒ์‹œํŒ ์„ค๊ณ„ํ•˜๊ธฐ

  • ์„ธ์…˜ ๋ ˆ๋””์Šค or H2: ์„ธ์…˜์„ ๊ด€๋ฆฌํ•˜๋Š” NoSQL๊ณผ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ RDB ์‚ฌ์šฉ
  • ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น MVC: ๊ธฐ๋ณธ์ ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ ํŽ˜์ด์ง€
  • ์Šคํ”„๋ง ๋ถ€ํŠธ ์„ธ์…˜ ๋ ˆ๋””์Šค: ๋ ˆ๋””์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์„ธ์…˜ ๊ด€๋ฆฌ
  • ์Šคํ”„๋ง ๋ถ€ํŠธ ์‹œํ๋ฆฌํ‹ฐ/ ์Šคํ”„๋ง ๋ถ€ํŠธ OAuth2: ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํšŒ์› ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ์ฒ˜๋ฆฌ
  • ์Šคํ”„๋ง ๋ถ€ํŠธ ๋ฐ์ดํ„ฐ ๋ ˆ์ŠคํŠธ: REST API ๋งŒ๋“ค๊ธฐ
  • ์Šคํ”„๋ง ๋ถ€ํŠธ ๋ฐฐ์น˜: ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐฑ์—”๋“œ ์ž‘์—… ์ฒ˜๋ฆฌ. ์˜ˆ๋ฅผ ๋“ค์–ด ํŽ˜์ด์Šค๋ถ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒŒ์‹œํŒ์˜ ๊ณต์œ  ๊ฐœ์ˆ˜๋ฅผ DB์— ์ €์žฅ

1.4 ์Šคํ”„๋ง ๋ถ€ํŠธ ์Šคํƒ€ํ„ฐ ๋“ค์—ฌ๋‹ค๋ณด๊ธฐ

  • ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ๋Š” ์˜์กด ๊ด€๊ณ„๋ฅผ ์Šคํƒ€ํ„ฐ๋ฅผ ์ด์šฉํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

1.4.1 ์Šคํƒ€ํ„ฐ์˜ ๋ช…๋ช…๊ทœ์น™ ์•Œ์•„๋ณด๊ธฐ

  • spring-boot-starter-* : *์— ์Šคํƒ€ํ„ฐ๋ช…์„ ๋ช…์‹œํ•˜๋ฉด ๋œ๋‹ค.
  • spring-boot-starter-web

1.4.2 ์Šคํƒ€ํ„ฐ ๋‚ด๋ถ€์˜ ์˜์กด์„ฑ ํ™•์ธ ๋ฐฉ๋ฒ•

  • ํŠน์ • ์Šคํƒ€ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค ํ•˜๋Š”๋ฐ ์˜์กด๊ด€๊ฒŒ๊ฐ€ ๊ถ๊ธˆํ•  ๋•Œ: Spring-boot-starter๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ™•์ธํ•œ๋‹ค.

  • ์˜์กด ๊ด€๊ณ„๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  spring-boot-starter๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋Š”๋ฐ ์˜์กด ๊ด€๊ณ„ ์„ค์ •์ด ๊ถ๊ธˆํ•  ๋•Œ

  • spring-boot-starter์˜ ์—ฌ์„ฏ๊ฐ€์ง€ ์˜์กด์„ฑ

    • spring-boot: ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ๊ธฐ๋ณธ ์ œ๊ณตํ•˜๋Š” ์˜์กด์„ฑ
    • spring-boot-autoconfigure: ์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ์ž๋™ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์— ํ•„์š”ํ•œ ์˜์กด์„ฑ
    • spring-boot-starter-logging: ๊ฐ์ข… ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์˜์กด์„ฑ
    • javax.annotation-api: ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒฐํ•จ์„ ํƒ์ง€ํ•˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜์„ ์ง€์›ํ•˜๋Š” ์˜์กด์„ฑ
    • spring-core: ์Šคํ”„๋ง ์ฝ”์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์˜์กด์„ฑ
    • snakeyaml: yaml์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์˜์กด์„ฑ

    1.4.6 ์Šคํ”„๋ง ๋ถ€ํŠธ ์žฅ๋‹จ์ 

  • ์žฅ์ 

    • ๊ฐ๊ฐ์˜ ์˜์กด์„ฑ ๋ฒ„์ „์„ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ด ์ˆ˜์›”ํ•˜๋‹ค
    • ํŠน์ • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋‹ค ํ•˜๋”๋ผ๋„ ์Šคํ”„๋งํŒ€์—์„œ ๋ฒ„๊ทธํ”ฝ์Šคํ•œ ๋ฒ„์ „์„ ๋ฐ›๊ธฐ ํŽธ๋ฆฌํ•˜๋‹ค.
    • ์–ด๋…ธํ…Œ์ด์…˜ ์„ค์ •์ด๋‚˜ ํ”„๋กœํผํ‹ฐ ์„ค์ •์œผ๋กœ ์„ธ๋ถ€์ ์ธ ์„ค์ • ์—†์ด ์›ํ•˜๋Š” ๊ธฐ๋Šฅ ๋น ๋ฅด๊ฒŒ ์ ์šฉ ๊ฐ€๋Šฅ
    • ๋ณ„๋„์˜ ์™ธ์žฅ ํ†ฐ์บฃ์„ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์—†๊ณ , ํ†ฐ์บฃ ๋ฒ„์ „๋„ ํŽธ๋ฆฌํ•˜๊ฒŒ ๊ด€๋ฆฌํ•œ๋‹ค.
  • ๋‹จ์ 

    • ์„ค์ •์„ ๊ฐœ์ธํ™”ํ•˜๋ฉด ๋ฒ„์ „์„ ์˜ฌ๋ฆด ๋•Œ ๊ธฐ์กด ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ถˆํŽธํ•จ์„ ๊ฒช์„ ์ˆ˜ ์žˆ๋‹ค.
    • ํŠน์ • ์„ค์ •์„ ๊ฐœ์ธํ™” ํ˜น์€ ์ž์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‚ด๋ถ€์˜ ์„ค์ •์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์•„์•ผ ํ•จ