๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐฑ์—”๋“œ/spring&springboot

[๋‚ด์ผ๋ฐฐ์›€์บ ํ”„_Spring Boot ์ž…๋ฌธ์ฃผ์ฐจ] Lombok๊ณผ application.properties

by alswlfl 2026. 6. 23.

Lombok

Lombok์€ JAVA ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ๊ฑฐ์˜ ํ•„์ˆ˜์ ์œผ๋กœ ํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ ํ˜น์€ ์ƒ์„ฑ์ž ๋“ฑ์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์คŒ์œผ๋กœ์จ ์ฝ”๋“œ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

 

@Getter์™€ @Setter

package com.sparta.springprepare;

import lombok.Getter;
import lombok.Setter;

@Getter // Getter ๋ฉ”์„œ๋“œ
@Setter // Setter ๋ฉ”์„œ๋“œ
public class Memo {
    private String username;
    private String contents;
}

๋นŒ๋“œ ํ›„ ์ปดํŒŒ์ผ๋œ ํŒŒ์ผ

  • ์ฝ”๋“œ์—๋Š” Getter ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š์•˜์ง€๋งŒ, @Getter ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ธํ•ด ๋นŒ๋“œ ํ›„ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ ธ ์žˆ์Œ
Getter์™€ Setter
์™ธ๋ถ€์—์„œ ํ•„๋“œ ๊ฐ’์„ ํ•จ๋ถ€๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋„๋ก private์œผ๋กœ ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์™ธ๋ถ€์—์„œ ํ•„๋“œ๋“ค์„ ์ ‘๊ทผํ•ด์„œ ๊ฐ€์ง€๊ณ  ์˜ค๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฉ”์„œ๋“œ๋กœ ์ ‘๊ทผํ•ด์•ผํ•จ!
public์œผ๋กœ ๋ฉ”์„œ๋“œ ๋งŒ๋“ค์–ด์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด Getter์™€ Setter ๋ฉ”์„œ๋“œ์ž„

 

@AllArgsConstructor

๋ชจ๋“  Arguments(ํ•„๋“œ๋“ค)์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” Constructor๊ฐ€ ์ƒ์„ฑ๋จ

package com.sparta.springprepare;

import lombok.Getter;
import lombok.Setter;

@Getter // Getter ๋ฉ”์„œ๋“œ
@Setter // Setter ๋ฉ”์„œ๋“œ
public class Memo {
    private String username;
    private String contents;

	// ์ด ๋ถ€๋ถ„
    public Memo(String username, String contents) {
        this.username = username;
        this.contents = contents;
    }
}
package com.sparta.springprepare;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

@Getter // Getter ๋ฉ”์„œ๋“œ
@Setter // Setter ๋ฉ”์„œ๋“œ
@AllArgsConstructor
public class Memo {
    private String username;
    private String contents;
}

 

@NoArgsConstructor

๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” Lombok

* ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋ฌด๊ฒƒ๋„ ์ƒ์„ฑ์ž๋ฅผ ์˜ค๋ฒ„๋กœ๋”ฉํ•˜์ง€ ์•Š์œผ๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋„ฃ์–ด์คŒ! ํ•˜์ง€๋งŒ, ํ•˜๋‚˜๋ผ๋„ ์˜ค๋ฒ„๋กœ๋”ฉ๋œ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋ฉด ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ๋„ฃ์–ด์ฃผ์ง€ ์•Š์Œ

package com.sparta.springprepare;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter // Getter ๋ฉ”์„œ๋“œ
@Setter // Setter ๋ฉ”์„œ๋“œ
@AllArgsConstructor
@NoArgsConstructor
public class Memo {
    private String username;
    private String contents;
}

 

@RequiredArgsConstructor

์š”๊ตฌ๋˜๋Š” ํ•„๋“œ๋“ค์„ ๊ฐ€์ง€๋Š” constructor

* ํ•ด๋‹น ํ•„๋“œ๋Š” final์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•จ! ์ฆ‰, @RequiredArgsConstructor๋Š” final์ด ๋‹ฌ๋ฆฐ ํ•„๋“œ๋ฅผ ๊ฐ€์ง€๋Š” ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฒƒ

package com.sparta.springprepare;

import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;

@Getter // Getter ๋ฉ”์„œ๋“œ
@Setter // Setter ๋ฉ”์„œ๋“œ
@RequiredArgsConstructor
public class Memo {
    private final String username;
    private String contents;
}

application.properties ํŒŒ์ผ

application.properties ์œ„์น˜

application.properties๋Š” Spring๊ณผ ๊ด€๋ จ๋œ ์„ค์ •์„ ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํŒŒ์ผ
  • ์ž๋™์œผ๋กœ ์„ค์ •๋˜๊ณ  ์žˆ๋˜ ์„ค์ • ๊ฐ’๋“ค์„ ์‰ฝ๊ฒŒ ์ˆ˜์ • ๊ฐ€๋Šฅ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๋ณด ์ œ๊ณต์„ ์œ„ํ•ด ์‚ฌ์šฉ
  • ํฌํŠธ ๊ธฐ๋ณธ ์„ค์ • ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

ํฌํŠธ ๋ณ€๊ฒฝ