있을 유, 참 진

[SpringMVC] Yalm, Properties 파일의 프로퍼티 값 사용하기 본문

Spring

[SpringMVC] Yalm, Properties 파일의 프로퍼티 값 사용하기

U_ma 2023. 4. 4. 00:16
environment 클래스
   - 사용법 설명
@Value 어노테이션
@ConfigurationProperties

   - dependency 추가

environment 클래스

사용법 설명

greeting:
  message: Hello from user-service
//...생략
@RequiredArgsConstructor
public class UserController {
    private final Environment environment;
        //...
    @GetMapping("/welcome")
    public String welcome() {
        return environment.getProperty("greeting.message");
    }
}

주입받은 environment 클래스의 getProperty(propertie) 메서드를 통해 값을 받아올 수 있다.

@Value 어노테이션

💡 프로퍼티 값을 주입받을 때 사용된다. @Value(${…}), @Value(#{…}) 표현식을 사용해 값을 지정
@Component
public class Greeting() {
    @Value("${greeting.message}")
    private String message;
}
//...생략
@RequiredArgsConstructor
public class UserController {
    private final Greeting greeting;
        //...
    @GetMapping("/welcome")
    public String welcome() {
        return greeting.getMessage();
    }
}

message 속성에 @Value를 통해서 값을 직접 주입한 후, Getter를 통해 해당 값을 가져온다.

@ConfigurationProperties

💡 자바 클래스에 값을 가져와 사용할 수 있게 해주는 어노테이션

dependency 추가

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
@Component
@ConfigurationProperties(prefix = "greeting")
@Data
public class Greeting() {
    private String message;
}

@Component로 bean으로 등록해 주고, @ConfigurationProperties(prefix = “greeting")으로 설정해 준다. property 값을 객체화시켜서 사용할 수 있다.

참고 사이트

Comments