๐Ÿšจ ์—๋Ÿฌ

[Spring] @interface ๋ฉ”์„œ๋“œ 'value()'์„(๋ฅผ) ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค / Cannot find method 'value'

kekeyo 2025. 5. 19. 15:03
728x90

๋ฌธ์ œ

presignedURL์„ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ค‘, ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ์žˆ๋Š” ๋ฒ„ํ‚ท ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด @Value๋ฅผ ๋„ฃ์—ˆ๋Š”๋ฐ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค. 

 

์›์ธ

lombok์˜ Value๋ฅผ import ํ•ด์˜จ ๊ฒƒ์ด ์›์ธ์ด๋‹ค.

 

 

ํ•ด๊ฒฐ

import org.springframework.beans.factory.annotation.Value;

๋ผ๋Š” ์ œ๋Œ€๋กœ ๋œ springframework ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ฃผ์ž…์„ ํ•ด์ค€๋‹ค.

 

๊ธฐํƒ€

lombok์˜ @Value

: ๋ถˆ๋ณ€ ํด๋ž˜์Šค์šฉ ์• ๋„ˆํ…Œ์ด์…˜

@Value
public class MyClass {
    private String bucketName;
}
  • ๋ชจ๋“  ํ•„๋“œ๋ฅผ private final๋กœ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค
  • @Getter, @AllArgsConstructor, @ToString, @EqualsAndHashCode ๋“ฑ์„ ์ž๋™์œผ๋กœ ๋ถ™์—ฌ์คŒ

 

Spring์˜ @Value

@Value("${cloud.aws.s3.bucket}")
private String bucket;

Spring์—์„œ ์ž๋™์œผ๋กœ property ๊ฐ’์„ ์ฃผ์ž…ํ•ด์ฃผ๋ฉฐ, DI(์˜์กด์„ฑ ์ฃผ์ž…)์˜ ์ผ๋ถ€๋กœ ๋™์ž‘ํ•จ

 

728x90