파지티브헌 2023. 2. 24. 16:02

@Value는 Spring Framework에서 프로퍼티 값을 주입하기 위해 사용되는 어노테이션 중 하나입니다.

Spring에서는 application.properties 또는 application.yml 파일에 설정 값을 정의하여, 애플리케이션에서 사용할 수 있습니다. @Value 어노테이션을 사용하면, 이러한 설정 값을 손쉽게 주입받을 수 있습니다.

@Value 어노테이션은 주입받을 프로퍼티의 이름을 지정하며, ${} 또는 #{}을 사용하여 프로퍼티 값을 참조할 수 있습니다.

아래는 @Value 어노테이션을 사용하여 프로퍼티 값을 주입받는 예시 코드입니다.

@Service
public class UserServiceImpl implements UserService {
 
    @Value("${app.user.default.name}")
    private String defaultUserName;
 
    @Override
    public User getDefaultUser() {
        User user = new User();
        user.setName(defaultUserName);
        return user;
    }
}

위 코드에서는 @Value 어노테이션을 사용하여 defaultUserName 필드에 프로퍼티 값을 주입하고 있습니다. app.user.default.name 프로퍼티를 참조하여, 해당 값이 defaultUserName 필드에 주입됩니다.

@Value 어노테이션을 사용하여 프로퍼티 값을 주입받을 때는, 다양한 유형의 프로퍼티 값을 주입받을 수 있습니다. 예를 들어, @Value("#{systemProperties['java.home']}")와 같은 방법으로, 시스템 프로퍼티 값을 주입받을 수도 있습니다.