Действительно ли это самый простой способ, как внедрить свойство в контроллер из файла свойств? Затем он должен импортировать материал файла свойств на каждый контроллер, которому нужны некоторые свойства. В проекте, подобном моему, около 30 контроллеров и 10 из них, нуждающихся в этой стране, это было бы похоже на беспорядок.
Правильно ли я понял использование @Value
?
@Controller
@RequestMapping(value = "/simple")
@ImportResource("classpath:/META-INF/properties-config.xml")
public class SimpleController {
private @Value("#{exampleProperties['simple.country']}") String country;
}
properties-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]