[Spring Boot] Lombok

hameeeยท2024๋…„ 1์›” 5์ผ
0

Spring Boot

๋ชฉ๋ก ๋ณด๊ธฐ
13/20
post-thumbnail

๐Ÿ“ Lombok

  • ์ž๋ฐ” ์–ธ์–ด๋ฅผ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.
  • ๋ฐ˜๋ณต์ ์ธ ์ฝ”๋“œ๋ฅผ ์ค„์ด๊ณ  ๊ฐ„์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ž๋ฐ” ๊ฐœ๋ฐœ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ์ฝ”๋“œ(์–ด๋–ค ์ž‘์—…์ด๋‚˜ ํŒจํ„ด์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š”, ๊ทธ๋ฆฌ๊ณ  ์ฃผ๋กœ ์ž๋™ํ™”๋  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ)๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
    ex. getter ๋ฉ”์„œ๋“œ ๊ตฌํ˜„ -> @Getter ์–ด๋…ธํ…Œ์ด์…˜ ์ž‘์„ฑ

๐Ÿ“ Lombok ์„ค์น˜ํ•˜๊ธฐ

  • 1๏ธโƒฃ build.gradle์— Lombok ์˜์กด์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€
  • 2๏ธโƒฃ Lombok ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ STS ์—ฐ๊ฒฐํ•˜๊ธฐ
  • 3๏ธโƒฃ STS ์žฌ๋ถ€ํŒ…

1๏ธโƒฃ build.gradle์— Lombok ์˜์กด์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

  • build.gradle์˜ dependencies์— ์•„๋ž˜ ์ฝ”๋“œ ์ถ”๊ฐ€
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
  • build.gradle ํŒŒ์ผ ์ €์žฅ
  • Package Explorer์˜ build.gradle ํŒŒ์ผ์—์„œ ์šฐ์ธก ๋งˆ์šฐ์Šค ํด๋ฆญ
  • Gradle > Gradle Refresh Project ํด๋ฆญ

2๏ธโƒฃ Lombok ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ STS ์—ฐ๊ฒฐํ•˜๊ธฐ

  • ๐Ÿšฉ lombok.jar์˜ ๊ฒฝ๋กœ๋Š” ๋ชจ๋‘ ์˜์–ด๋กœ ๋˜์–ด์žˆ์–ด์•ผ ํ•œ๋‹ค.

1) Window์ผ ๊ฒฝ์šฐ

  • ๋ฐฉ๋ฒ•1(๊ถŒ์žฅ)

    • lombok.jar ๋‹ค์šด๋กœ๋“œ
    • lombok ํด๋” ์ƒ์„ฑ ํ›„ ๋‹ค์šด๋ฐ›์€ lombok.jar์„ ์˜ฎ๊น€
    • SpringToolSuite4.ini ํŒŒ์ผ ํ•˜๋‹จ์— -javaagent:lombok.jar ํŒŒ์ผ ๊ฒฝ๋กœ ์ถ”๊ฐ€
  • ๋ฐฉ๋ฒ•2

    • lombok.jar ๋‹ค์šด๋กœ๋“œ
    • lombok ํด๋” ์ƒ์„ฑ ํ›„ ๋‹ค์šด๋ฐ›์€ lombok.jar์„ ์˜ฎ๊น€
    • lombok.jar ๋”๋ธ” ํด๋ฆญ
    • Project Lombok v1.18.30 - Installer ์ฐฝ: Specify location... ๋ฒ„ํŠผ ํด๋ฆญ > SpringToolSuite4.exe ํŒŒ์ผ ์„ ํƒ > Select ๋ฒ„ํŠผ ํด๋ฆญ > Install/Update ๋ฒ„ํŠผ ํด๋ฆญ > Quit Installer ๋ฒ„ํŠผ ํด๋ฆญ

    SpringToolSuite4.ini ํŒŒ์ผ ํ•˜๋‹จ์— -javaagent:๊ฒฝ๋กœ๊ฐ€ ์ถ”๊ฐ€๋œ๋‹ค. ๋‚ด๊ฐ€ ์ƒ์„ฑํ•œ lombok ํด๋”/lombok.jar์˜ ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋กœ ํ‘œ์‹œ๋œ๋‹ค.

2) macOS์ผ ๊ฒฝ์šฐ

  • ๋ฐฉ๋ฒ•1(๊ถŒ์žฅ)

    • lombok.jar ๋‹ค์šด๋กœ๋“œ
    • lombok ํด๋” ์ƒ์„ฑ ํ›„ ๋‹ค์šด๋ฐ›์€ lombok.jar์„ ์˜ฎ๊น€
    • SpringToolSuite4.app ๋งˆ์šฐ์Šค ์šฐ์ธก ํด๋ฆญ > ํŒจํ‚ค์ง€ ๋‚ด์šฉ ๋ณด๊ธฐ > Contents > Eclipse > SpringToolSuite4.ini ํŒŒ์ผ ํ•˜๋‹จ์— -javaagent:lombok.jar ํŒŒ์ผ ๊ฒฝ๋กœ ์ถ”๊ฐ€
  • ๋ฐฉ๋ฒ•2

    • lombok.jar ๋‹ค์šด๋กœ๋“œ
    • lombok ํด๋” ์ƒ์„ฑ ํ›„ ๋‹ค์šด๋ฐ›์€ lombok.jar์„ ์˜ฎ๊น€
    • lombok.jar ๋”๋ธ” ํด๋ฆญ
    • Project Lombok v1.18.30 - Installer ์ฐฝ: Specify location... ๋ฒ„ํŠผ ํด๋ฆญ > SpringToolSuite4.app/Contents/Eclipse/SpringToolSuite4.ini ํŒŒ์ผ ์„ ํƒ > Select ๋ฒ„ํŠผ ํด๋ฆญ > Install/Update ๋ฒ„ํŠผ ํด๋ฆญ > Quit Installer ๋ฒ„ํŠผ ํด๋ฆญ

3๏ธโƒฃ STS ์žฌ๋ถ€ํŒ…

์žฌ๋ถ€ํŒ… ํ›„ import lombok.Data(@Data ์ž„ํฌํŠธ)๊ฐ€ ๋˜๊ณ , Getter ์—†์ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ๋ถˆ๋Ÿฌ์™€์ง„๋‹ค๋ฉด lombok์ด ์ž˜ ์„ค์น˜๋œ ๊ฒƒ์ด๋‹ค.

๐Ÿšฉ ๊ทธ๋ž˜๋„ ์•ˆ๋  ๊ฒฝ์šฐ ์•„๋ž˜ ๋ฐฉ๋ฒ•์„ ์‹œ๋„

  • Project > Clean > Clean ๋ฒ„ํŠผ ํด๋ฆญ

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