Несколько свойств файла весной - PullRequest
2 голосов
/ 08 ноября 2011

Весной загружаю файл свойств:

 <context:property-placeholder location="classpath:foo.properties"/>

Но если я пытаюсь загрузить другой файл в другой файл контекста, я получаю ошибку.

Ответы [ 3 ]

6 голосов
/ 08 ноября 2011

Согласно источникам, вы должны предоставить разделенный запятыми список подходящих файловых ресурсов. Это должно работать для вас:

<context:property-placeholder location="classpath:foo1.properties,classpath:foo2.properties"/> 
4 голосов
/ 08 ноября 2011

если вам нужно переопределить свойства, вы можете сделать:

<context:property-override location="classpath:override.properties"/>

ИЛИ

если ошибка связана с тем, что не найдено определенное свойство, вы можете установить ignoreUnresolvablePlaceholdersв true.


ИЛИ

Если ошибка связана с не найденным ресурсом (и вы в порядке), вы можете установить ignoreResourceNotFound в true.


ИЛИ

в случае ошибок при поиске системных свойств:

PropertyPlaceholderConfigurer не только ищет свойства в указанном вами файле свойств.По умолчанию он также проверяет свойства системы Java, если он не может найти свойство в указанных файлах свойств.Вы можете настроить это поведение, задав для свойства systemPropertiesMode конфигуратора одно из следующих трех поддерживаемых целочисленных значений:

never (0): никогда не проверять системные свойства

fallback (1): Проверьте системные свойства, если они не разрешены в указанных файлах свойств.Это значение по умолчанию.

override (2): Сначала проверьте свойства системы, прежде чем пытаться указывать файлы свойств.Это позволяет системным свойствам переопределять любой другой источник свойств.

2 голосов
/ 27 февраля 2014

Проблема - Как использовать файл с несколькими свойствами в весенней конфигурации *

  1. создать отдельные prop-файлы в classPath, например. abc1.properties, abc2.propeties, abc2.propperties

  2. Создать propConfig.xml в пути к классу class = "org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig ">

    class =" org.jasypt.encryption.pbe.StandardPBEStringEncryptor ">

    classpath: /abc1.properties *21classpath: /abc2.properties classpath: /abc3.properties

  3. Создать объединенный файл для всех остальных beanDefination.xml и propConfig.xml AllSpringConfig.xml 3.1 Убедитесь, что указанные ниже свойства конфигурируют, и bean-компоненты локатора определены только в одном
    файле, т.е. propConfig.xml 3.2. Убедитесь, что файл propConfig.xml находится перед любыми другими файлами конфигурации, например ниже

    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ">

    <import resource="SpringPropConfig.xml"/>
            <import resource="abc1.xml"/> <!-- this may use props from abc1.prop --> 
            <import resource="abc2.xml"/> <!-- this may use props from abc2.prop --> 
            <import resource="abc3.xml"/> <!-- this may use props from abc3.prop --> 
    

  4. Используйте ниже для инициализации bean-компонента ApplicationContext context = new ClassPathXmlApplicationContext (" AllSpringConfig.xml ");

Примечание - убедитесь, что все упомянутые файлы находятся вclasspath или укажите правильные пути к файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...