๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Spring

Lombok ์„ค์น˜ ๋ฐ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

Lombok ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ

@Getter, @Setter ๋“ฑ์„ ์ง€์›ํ•˜์—ฌ ์ฝ”๋“œ ์–‘์„ ์ค„์—ฌ์ฃผ๋Š” Lombok์„ Spring ํ”„๋กœ์ ํŠธ์— ์„ค์น˜ํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•ด๋ณด์ž.

gradle.build์— ์˜์กด์„ฑ ์ถ”๊ฐ€

gradle.build์˜ dependencies์— Lombok์— ๋Œ€ํ•œ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ด์•ผ ๋œ๋‹ค.

dependencies {
    //...
    compile('org.projectlombok:lombok')
    //...
}

Plugins์—์„œ Lombok ์„ค์น˜

์œˆ๋„์šฐ ๊ธฐ์ค€์œผ๋กœ ctrl + shift + a๋ฅผ ๋ˆ„๋ฅด๋ฉด Action์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

Plugins๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ๋“ค์–ด๊ฐ„ ๋’ค, Lombok์„ install ํ•ด์ฃผ๊ณ  intellij ํ”„๋กœ์ ํŠธ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•œ๋‹ค.

 

enable annotation processing ํ™œ์„ฑํ™”

setting -> Build, Execution, Deployment -> Annotation Processors ๋กœ ๋“ค์–ด๊ฐ„ ๋’ค,

enable annotation processing ๋ฅผ ์ฒดํฌํ•ด์ค€๋‹ค.

 

gradle.build์— ๋‹ค์‹œ ์ถ”๊ฐ€

์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ Lombok์„ ์„ค์น˜ํ•˜๊ธฐ๊นŒ์ง€์˜ ๊ณผ์ •์ด์ง€๋งŒ, Lombok์— ๊ด€๋ จ๋œ ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉ ์‹œ

cannot find symbol ๋ผ๋Š” ๋กœ๊ทธ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์•˜๋‹ค.

build.gradle์— annotaition์— ๊ด€ํ•œ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋‹ˆ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค.

dependencies {
    //...
    compile('org.projectlombok:lombok')
    annotationProcessor('org.projectlombok:lombok')
    //...
}

์˜์กด์„ฑ์„ ์ถ”๊ฐ€ ํ›„ Lombok๊ณผ ๊ด€๋ จ๋œ ์–ด๋…ธํ…Œ์ด์…˜๋“ค์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜์—ˆ๋‹ค.