programing

스프링 부트에서 동적 키로 속성 읽기

linuxpc 2023. 8. 4. 22:42
반응형

스프링 부트에서 동적 키로 속성 읽기

스프링 부트에서 동적 키를 사용하여 속성 파일에서 속성 값을 읽을 수 있는 방법이 있는지 알고 싶습니다.나는 속성이 들어갈 수 있다는 것을 압니다.application.properties를 사용하여 읽을 수 있습니다.@Value("propertyKey")하지만 제 열쇠는 역동적일 것입니다.

에 대해 알고 있습니다.@PropertySource속성 값을 읽고 동적으로 키를 구성할 수 있습니다.그럼 Spring Boot에서 제공하는 방법이 있나요?

사용할 수 있는 항목:

@Autowired
private Environment env;

코드에서 속성을 로드합니다.

env.getProperty("your.property")

1 - Java 주석을 통해 속성 파일을 등록합니다.

@Configuration
@PropertySource("classpath:test.properties")
public class PropertiesJavaConfig {
    
}

2- 런타임에 올바른 파일을 동적으로 선택합니다.

@PropertySource({ 
  "classpath:persistence-${envTarget:DB}.properties"
})

application.properties에서 읽는 경우 freakman(org.springframework.core.env)에서 지정한 대로 환경 스프링 자동 배선 변수를 정의합니다.환경).그러나 특정 속성에 대한 새 속성 파일을 사용하는 경우 다음 코드를 사용할 수 있습니다.

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;

 @Configuration
 @PropertySource("classpath:filename.properties")
 public class CustomConfig {
    @Autowired
    Environment env;


    public String getProperty(String keyName) {
       return env.getProperty(keyName);
    }    
 }

언급URL : https://stackoverflow.com/questions/39240963/read-properties-by-dynamic-keys-in-spring-boot

반응형