システム プロパティを読み取るには、PropertySourcesPlaceholderConfigurerを使用します。次に、この構文を使用してプレースホルダーを解決できます${prop.name}
。
注釈付きフィールドは次のように機能するはずです。
@DateTimeFormat(pattern = "${class.date.format}")
private java.util.Date startDate;
xml でアプリケーションの PropertySourcesPlaceholderConfigurer を構成するには、次のようにします。
<bean class="org.springframework.beans.factory.config.PropertySourcesPlaceholderConfigurer">
<property name="location">
<list>
<value>classpath:myProps.properties</value>
</list>
</property>
<property name="ignoreUnresolveablePlaceholders" value="true"/>
</bean>
または、JavaConfig を使用する場合:
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
//note the static method! important!!
PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
Resource[] resources = new ClassPathResource[] { new ClassPathResource("myProps.properties")};
configurer.setLocations(resources);
configurer.setIgnoreUnresolvablePlaceholders(true);
return configurer;
}