DAY-76 Spring Multipart, Service, ClassDiagram

1 minute read

๐Ÿ’ป2022-06-21

โ— ์ˆ˜์—…์„ ๋“ฃ๊ณ , ๊ฐœ์ธ์ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ ์€ ๊ฒƒ ์ด๊ธฐ์— ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์„ ์ˆ˜๋„ ์žˆ์Œ

1๏ธโƒฃ ์Šคํ”„๋ง File upload - multipart

  • session.getServletContext().getRealPath()๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ํด๋”์˜ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์ธ์ž๊ฐ’์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ์€ ํด๋”๋ช…์„ ์ ๋Š”๋‹ค
  • uuid๋ฅผ ํ†ตํ•ด ๋žœ๋˜๊ฐ’ ์ƒ์„ฑ (์ค‘๋ณต ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ)
  • File.separator๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰ ์ค‘์ธ OS์— ํ•ด๋‹นํ•˜๋Š” ๊ตฌ๋ถ„์ž๋ฅผ ๋ฆฌํ„ด
  • ์‹ค์ œ ์—…๋กœ๋“œ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด transferTo()๋ฅผ ์ด์šฉ

File Class์˜ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

2๏ธโƒฃ Service ์ƒ์„ฑ

  • controller๊ฐ€ ์ง์ ‘ dao ๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š๊ณ  service๊ฐ€ ๊ทธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•œ๋‹ค
  • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต๊ณผ ๊ด€๋ จ๋œ ๊ฐ’๋งŒ controller์—์„œ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ž‘์—…์€ service๊ฐ€ ํ•œ๋‹ค

๊ธฐ์กด MemberController

๋ณ€๊ฒฝ๋œ MemberController

MemberService

  • MemberService์— Service ์–ด๋…ธํ…Œ์ด์…˜์„ ๋ถ™์—ฌ service ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ๋ช…์‹œ
  • ๊ธฐ์กด์— controller์—์„œ ํ–ˆ๋˜ ์ž‘์—…์„ service์—์„œ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ ๊ฐ’๋งŒ controller์—๊ฒŒ ๋ณด๋‚ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ

3๏ธโƒฃ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ

๊ธฐํ˜ธ์˜ ํŠน์ง•

๊ด€๊ณ„

  • ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„
    1. ์ƒ์†์„ ํ†ตํ•ด ํด๋ž˜์Šค ๊ฐ„์˜ ์ฐธ์กฐ๊ฐ€ ์ด๋ค„์ง€๋Š” ๊ด€๊ณ„
    2. ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ํ™”์‚ดํ‘œ๋กœ ๊ฐ€๋ฅดํ‚ค๋Š” ํ˜•ํƒœ
    3. ์‹ค์„  + ๋น„์–ด์žˆ๋Š” ์‚ผ๊ฐํ˜• ํ™”์‚ดํ‘œ

1.png

  • ์‹ค์ฒดํ™” ๊ด€๊ณ„
    1. ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์„ ํ†ตํ•ด ์ฐธ์กฐ๋˜๋Š” ํด๋ž˜์Šค๊ฐ„์˜ ๊ด€๊ณ„
    2. ๋น„์–ด์žˆ๋Š” ์‚ผ๊ฐํ˜• + ์ ์„ 

2.png

  • ์˜์กด ๊ด€๊ณ„
    1. ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งค์„œ๋“œ์˜ ๋ฐ˜ํ™˜ํƒ€์ž…, ๋งค๊ฐœ๋ณ€์ˆ˜(์ธ์ž๊ฐ’), ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ์ฐธ์กฐ
    2. ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ์ฐธ์กฐ๋˜๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋Š” ๋ฉ”์„œ๋“œ์˜ ์ƒ๋ช…์ฃผ๊ธฐ์™€ ๋™์ผ
    3. ์ ์„  + ์—ด๋ ค์žˆ๋Š” ํ™”์‚ดํ‘œ๋กœ ํ‘œํ˜„

4.png

3.png

  • ์—ฐ๊ด€ ๊ด€๊ณ„ (์ง‘ํ•ฉ ์—ฐ๊ด€)
    1. ๋ฉค๋ฒ„ํ•„๋“œ๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ด€๊ณ„
    2. ํ•ด๋‹น ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ๋ช…์„ ๋‹คํ•ด๋„ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” ๊ด€๊ณ„ โ†’ ์ฆ‰ ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ์—ฐ๊ด€๊ด€๊ณ„
    3. ์‹ค์„  + ๋น„์–ด์žˆ๋Š” ๋งˆ๋ฆ„๋ชจ๋กœ ํ‘œํ˜„

5.png

  • ์—ฐ๊ด€ ๊ด€๊ณ„(ํ•ฉ์„ฑ ์—ฐ๊ด€)
    1. ๋ฉค๋ฒ„ํ•„๋“œ๋กœ์จ ๋‹ค๋ฅธ ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ด€๊ณ„, ๋‹ค๋งŒ ์ฐธ์กฐํ•˜๋Š” ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์™€ ์ฐธ์กฐ๋‹นํ•˜๋Š” ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ๋™์ผํ•œ ๊ด€๊ณ„
    2. ์‹ค์„  + ์†์ด ์ฐจ์žˆ๋Š” ๋งˆ๋ฆ„๋ชจ๋กœ ํ‘œํ˜„

6.png

Categories:

Updated:

Leave a comment