๐ŸŽก๋ฐฑ์—”๋“œ ์ธ์ฆ/์ธ๊ฐ€ ์„œ๋ฒ„ Refactoring & ์ด๋ฉ”์ผ ์ธ์ฆ ์ถ”๊ฐ€

์ดํ•˜์–€ยท2023๋…„ 5์›” 22์ผ
0

๐Ÿ“— Spring & SpringBoot

๋ชฉ๋ก ๋ณด๊ธฐ
5/6

๐Ÿฑ github ๋งํฌ
https://github.com/hayannn/JJ_Club_backend

โš’๏ธ ์ธ์ฆ/์ธ๊ฐ€ ์„œ๋ฒ„ ๋ฆฌํŒฉํ† ๋ง

  • ๊ธฐ์กด์— ๊ฐ€์ง€๊ณ  ์žˆ๋Š” API๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, ํ˜„์žฌ ์บก์Šคํ†ค๋””์ž์ธ ํŒ€์—์„œ ํ˜‘์˜๋œ ๋‚ด์šฉ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜์ •์„ ๊ฑฐ์ณค๋‹ค.
  1. ํŒจํ‚ค์ง€๋ช… & ํ”„๋กœ์ ํŠธ๋ช… ๋ณ€๊ฒฝ
    Springboot ํ”„๋กœ์ ํŠธ๋ช…, ํŒจํ‚ค์ง€๋ช… ๋ณ€๊ฒฝ (IntelliJ)

  2. Domain & Entity ์ˆ˜์ •

๐Ÿ“ฌ ์ด๋ฉ”์ผ ์ธ์ฆ

  • ์ด ๊ณผ์ •์ด ์ƒ๊ฐ๋ณด๋‹ค ์‰ฝ์ง€ ์•Š์•„, ์ •๋ง ๋งŽ์€ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐพ์•„๋ดค๋‹ค.

  • ๊ทธ๋Ÿฐ๋ฐ, ๋‹น์—ฐํ•˜๊ฒŒ๋„ Google์„ ์‚ฌ์šฉํ•˜๋ ค ํ–ˆ์œผ๋‚˜ ์ด์Šˆ๊ฐ€ ์ƒ๊ฒผ๋‹ค๋Š” ๊ฒƒ์„ ์–ด์ œ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.
    -> ์›๋ž˜ ์ˆœ์„œ : Google์—์„œ 2๋‹จ๊ณ„ ์ธ์ฆ์„ ๋“ฑ๋กํ•˜๊ณ , ์•ฑ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์Œ
    -> Google์—์„œ ํ•ด๋‹น ์„œ๋น„์Šค + ๋ณด์•ˆ ์ˆ˜์ค€์ด ๋‚ฎ์€ ์•ฑ์—์„œ์˜ ์•ก์„ธ์Šค ํ—ˆ์šฉ ์ค‘์ง€..๋กœ ์ธํ•ด ํ˜„์žฌ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ

  • ๊ฒฐ๊ตญ, ๊ทธ ๋‹ค์Œ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์€ ๋ฐฉ๋ฒ•์ด ์†Œ๊ฐœ๋˜์–ด ์žˆ๋˜ Naver๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

๐Ÿ˜ก 500 Error์™€์˜ ์ „์Ÿ

  • springboot ์ž์ฒด์˜ stater-mail ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ•˜๋ฉด, ์‰ฝ๊ฒŒ smtp๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฉ”์ผ ์ธ์ฆ ๊ธฐ๋Šฅ ์ž์ฒด์˜ ๊ตฌํ˜„์€ ๊ฐ„๋‹จํ–ˆ๋‹ค.

  • ๊ธฐ์กด์— ๋‚ด๊ฐ€ ์‚ฌ์šฉํ–ˆ๋˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ˆ˜์ค€์— ๋งž๊ฒŒ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋จ!!

    • application.yml
    • MailConfig
    • MailService..๋“ฑ๋“ฑ
  • ๊ทผ๋ฐ, ์ด๊ฒŒ ๋ง์ด ์‰ฝ์ง€ ํ•ด๋ณด๋‹ˆ๊นŒ ์˜ค๋ฅ˜๊ฐ€ ๋งŽ๋”๋ผ๊ตฌ์š”.......?

  • ๋ญ ์–ด์ฐŒ์ €์ฐŒ ์ ์šฉ๊นŒ์ง€๋Š” ์„ฑ๊ณตํ–ˆ๋Š”๋ฐ, ์ด๋ฉ”์ผ ์ธ์ฆ ๋ฒˆํ˜ธ๋ฅผ ๋ฐœ์†กํ•˜๋ ค๊ณ ๋งŒ ํ•˜๋ฉด postman์—์„œ 500์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  springboot์—์„œ๋Š” SMTP 535 5.7.1 Username and Password not accepted๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ๊ณ„์† ์ง€์† ๋˜์—ˆ๋‹ค.

  • ์˜ค๋ฅ˜ ๋‚ด์šฉ์€ ๊ฐ„๋‹จํ•จ = "๋‹น์‹ ์ด ์ง€์ •ํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ž‘ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์•„์š”!"

  • ๊ทผ๋ฐ, ์˜ค๋ฅ˜๋Š” ์•Œ๊ฒ ๋Š”๋ฐ ํŠน๋ณ„ํ•œ ํ•ด๊ฒฐ๋ฒ•์ด ์—†๋‹ค๋Š” ๊ฒƒ์ด ๋ฌธ์ œ์˜€๋‹ค.
    ์˜ค๋ฅ˜๋„ ์–ด๋– ํ•œ ๋กœ์ง๋“ค์˜ ํ†ตํ•ฉ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ฑ‰์–ด๋‚ด๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ผ€์ด์Šค๋งˆ๋‹ค ๋„ˆ๋ฌด๋‚˜ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด ๋„ˆ๋ฌด๋‚˜ ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

  • ์šฐ์„  ์ด๋ฉ”์ผ ์ฃผ์†Œ๋Š” ๊ดœ์ฐฎ์ง€๋งŒ, ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๋งค์šฐ ๋ฏผ๊ฐํ•œ ์ •๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์ง์ ‘์ ์ธ ๋…ธ์ถœ์ด ์—†๋„๋ก ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค.
    ํ˜น์‹œ๋‚˜ ์ด๊ฒƒ ๋•Œ๋ฌธ์ธ๊ฐ€ ์‹ถ๋˜ ๋งˆ์Œ์— ๊ฒฐ๊ตญ ํ…Œ์ŠคํŠธ ๊ณผ์ •์—์„œ ์ด๋ฉ”์ผ ์ฃผ์†Œ์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ•˜๋“œ์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
    (๋ฌผ๋ก , ์ง€๊ธˆ์€ ๋‹ค์‹œ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊นƒํ—ˆ๋ธŒ์— ๊ณต์œ ํ•œ ์ƒํƒœ!)

  • ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ์ž‘์„ฑํ•ด์ฃผ๊ณ , ์ด๋ฅผ application.yml์—์„œ ๊ฐ’์„ ์ง€์ •ํ•ด์ค€ ๋‹ค์Œ, MailConfig ํŒŒ์ผ์—์„œ ๋งคํ•‘ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค.
    Spring - SMTP ๋„ค์ด๋ฒ„ ์ด๋ฉ”์ผ ์ธ์ฆ , redis๋กœ ์ธ์ฆ๋ฒˆํ˜ธ ๋งŒ๋ฃŒ ๊ตฌํ˜„
    (์ด ๋ถ€๋ถ„์—์„œ MailConfig ์ž‘์„ฑ๋ฒ•๋งŒ ์ฐธ๊ณ )

  • ๊ฒฐ๊ตญ, ์—ฌ๋Ÿฌ ๋ฒˆ ๊ฐ’์„ ๋ฐ”๊พธ๊ณ , ์ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ์‹œ๋„ํ•œ ๊ฒฐ๊ณผ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค!
    (์›๊ฒฉ ์ปด์ด๋ผ์„œ ํ™”๋ฉด ๋…นํ™”๊ฐ€ ์•ˆ๋œ๋‹ค...ใ… ใ… )
    <์‹คํ–‰ ์˜์ƒ>

๐Ÿ”— ์ฐธ๊ณ  ๋งํฌ

๐Ÿ“[SpringBoot] SMTP ์ด๋ฉ”์ผ ์ธ์ฆ (๋„ค์ด๋ฒ„)
๐Ÿ“WebDev2022/Spring boot/์ด๋ฉ”์ผ ์ธ์ฆ ์„œ๋น„์Šค.md
๐Ÿ“parameter 1 of constructor in required a bean of type that could not be found
๐Ÿ“Spring ํšŒ์›๊ฐ€์ž…์–‘์‹ ๋งŒ๋“ค๊ธฐ(Ajax๋ฅผ ํ™œ์šฉํ•œ ๋น„๋™๊ธฐ ๋ฐฉ์‹)(2)
๐Ÿ“JAVA java.util.NoSuchElementException: No value present
๐Ÿ“[spring error] Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError
๐Ÿ“๊ฐœ๋ฐœ๋…ธํŠธ-1 ์Šคํ”„๋ง๋ถ€ํŠธ ์˜์กด์„ฑ ๋ฒ„์ „ ํ™•์ธํ•˜๊ธฐ
๐Ÿ“springboot 2.6.8 ์˜์กด์„ฑ ํ™•์ธ(๊ณต์‹๋ฌธ์„œ)

profile
์–ธ์  ๊ฐ€ ๋‚ด ์ฝ”๋“œ๋กœ ์„ธ์ƒ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก, BE&Data Science ๊ฐœ๋ฐœ ๊ธฐ๋ก ๋…ธํŠธโ˜˜๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€