Иногда нам нужно напрямую прочитать файл конфигурации свойств в коде пружины, так как мы это сделаем? Давайте посмотрим на конкретный контент ниже.
Мы все знаем, что Spring может прочитать значения в свойствах в @Value, просто настройте их в файле конфигурации
org.springframework.beans.factory.config.propertyplaceholderconfigurer
<bean id = "propertyconfigurer"> <name = "location"> <value> classpath: config.properties </value> </property> </bean>
Затем, когда вам нужно использовать их, чтобы получить медианные значения свойств, вы можете использовать их так
@Value ("$ {sql.name}") частная строка sqlname;Но есть проблема с этим. Каждый раз, когда я использую значение в файле конфигурации, я должен объявить локальную переменную. Есть ли способ напрямую прочитать значения в файле конфигурации с помощью кода?
Ответ - переписать PropectyPlaceholderConfigurer
Общедоступный класс Propertyplaceholder Extends PropertyplaceholderConfigurer {Private Static Map <String, String> PropertyMap; @Override Protected void ProcessProperties (ConfigurableListableBeanFactory BeanFactoryToProcess, Properties) бросает BeanSexception {super.ProcessProperties (BeanFactoryToryToProcess, ops); Propertymap = new HashMap <String, String> (); for (объект ключа: props.keyset ()) {string keystr = key.tostring (); String value = props.getProperty (Keystr); Propertymap.put (Keystr, значение); }} // Статический метод доступа к свойствам контекста Public Static Object getProperty (String name) {return Propertymap.get (name); }}В файле конфигурации используйте вышеуказанный класс вместо PropertyPlaceholderConfigurer
<bean id = "propertyconfigurer"> <name = "location"> <value> classpath: config.properties </value> </property> </bean>
Таким образом, его можно получить непосредственно в коде с помощью программирования
Propertyplaceholder.getProperty ("sql.name");Если это несколько файлов конфигурации, настройте атрибут локаций
<bean id = "PropertyConfigurer"> <name = "engererEresourcenotfound" value = "true"/> <name = "locations"> <sist> <value> file: ./ jdbc.properties </value> <datule> file: ./config.properties </value> <ditule> classpath: jdbc.pr <dulch> classpath*:*. config.properties </value> </list> </property> </bean>
Суммировать
Выше приведено все о коде Spring, чтобы прочитать анализ экземпляров файлов свойств. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на этот сайт:
Анализ процесса процесса с пружиной и полными примерами кода
Создание метода Spring Factory Creation (инстандадизация) Код экземпляра бобов
Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!