@Service
public class TestService {
@Value("${test.dolphago}")
private String dolphago;
...
위와 같이 Value로 값을 사용하려면,
@Configuration 과 @PropertySource 로 애플리케이션 Env 객체에 값을 주입된다.
기본 루트/네임 같은 경우는 따로 지정하지 않아도 잘 인식한다.
그런데 디렉터리 내부라던가, profile에 따라 다르게 하고 싶다면 임의로 지정해주는 것이 설정하는 부분에선 편할 터.
@PropertySource(value="classpath:/myYamlSource.yml")
@Configuration
public class myConfig {
...
}
@PropertySource의 인자로는 여러개가 들어갈 수 있는데,
예를 들면 @PropertySource({ A, B}) 와 같은 식이다.
@Configuration
@PropertySource({
"classpath:config.properties",
"classpath:db.properties" //if same key, this will 'win'
})
public class AppConfig {
@Autowired
Environment env;
}
위와 같이 여러개의 프로퍼티를 넣었을 때, 동일한 key가 있다면, 뒤에 위치한 프로퍼티 값으로 덮어씌워지게 된다.
profile을 구분하고 있다면 다음과 같이 profile에 따른 프로퍼티 선택도 가능할 것이다.
위와 같이 Value로 값을 사용하려면,
@Configuration
과@PropertySource
로 애플리케이션 Env 객체에 값을 주입된다. 기본 루트/네임 같은 경우는 따로 지정하지 않아도 잘 인식한다. 그런데 디렉터리 내부라던가, profile에 따라 다르게 하고 싶다면 임의로 지정해주는 것이 설정하는 부분에선 편할 터.@PropertySource
의 인자로는 여러개가 들어갈 수 있는데, 예를 들면 @PropertySource({ A, B}) 와 같은 식이다.위와 같이 여러개의 프로퍼티를 넣었을 때, 동일한 key가 있다면, 뒤에 위치한 프로퍼티 값으로 덮어씌워지게 된다.
profile을 구분하고 있다면 다음과 같이 profile에 따른 프로퍼티 선택도 가능할 것이다.