これは、プロパティファイルからコントローラにプロパティを挿入する最も簡単な方法ですか?次に、いくつかのプロパティを必要とする各コントローラーにプロパティファイルをインポートする必要があります。私のようなプロジェクトでは、約30のコントローラーがあり、そのうちの10がこの国のプロパティを必要としているので、混乱しているように見えます。使用法を@Value
正しく理解しましたか?
@Controller
@RequestMapping(value = "/simple")
@ImportResource("classpath:/META-INF/properties-config.xml")
public class SimpleController {
private @Value("#{exampleProperties['simple.country']}") String country;
}
property-config.xml (xmlとスキーマのものをスキップしました)
<beans>
<util:properties id="exampleProperties" location="classpath:/simple.properties" />
</beans>
また、properties-config.xmlリソースを複数のコントローラーにインポートしようとすると、そのようなメッセージが表示されます。それは正しい方法ではないようですが、私はより良い方法を見つけることができません。
01 Apr 2011 04:52:29,859 INFO org.springframework.beans.factory.support.DefaultListableBeanFactory []: Overriding bean definition for bean 'exampleProperties': replacing [Generic bean: class [org.springframework.beans.factory.config.PropertiesFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.beans.factory.config.PropertiesFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null]