Если некоторые параметры в проекте должны часто модифицироваться или могут быть изменены позже, то лучше всего поместить эти параметры в файл свойств и прочитать конфигурацию в свойствах в исходном коде. Таким образом, только файл свойств должен быть изменен позже, и нет необходимости изменять исходный код, что является более удобным. Это также может быть сделано весной, а Spring имеет два способа загрузки файлов свойств: на основе метода XML и на основе метода аннотации . Ниже приведены два метода.
1. Загрузить свойства файла через XML
Давайте возьмем весенний созданный дат данных в качестве примера. Как правило, настраиваем следующее в файле Beans.xml:
<!-com.mchange.v2.c3p0.combopooledDatasource Class находится в пакете com.mchange.v2.c3p0 C3P0-0.9.5.1.jar пакета-> <bean id = "dataSource"> <свойство = "DriverClass" value = "com.mysql.jdbc.driver" /> <property = "jdbccr.driver" /"jdbcur" jdbcr. value = "jdbc: mysql: // localhost: 3306/shop"/> <name = "user" value = "root"/> <name = "пароль" value = "root"/> </bean>
Теперь, если мы хотим изменить дат данных, мы должны изменить эти исходные коды, но если мы используем свойства файлов, нам нужно только изменить исходный код, и нам не волнует исходный код. Так как это сделать?
В пружине есть тег <context:property-placeholder location=""/> , который можно использовать для загрузки файлов конфигурации свойств. Расположение - это путь к файлу конфигурации. Теперь мы создаем новый файл Conn.Properties в SRC каталога проекта и запишем приведенную выше конфигурацию данных:
dataSource = com.mchange.v2.c3p0.combopooleddatasource driverclass = com.mysql.jdbc.driver jdbcurl = jdbc/: mysql/: // localhost/: 3306/shop user = root пароль = root
Теперь вам нужно только внести следующие изменения в Beans.xml:
<Контекст: Property-Placeholder location = "classPath: conn.properties"/> <!-Загрузка файла конфигурации-> <!-com.mchange.v2.c3p0.combopooleddatasource class находится в пакете com.mchange.v2.c3p0 C3P0-0.9.5.1.jar Package-> <Bean Id = "DataSour. conn.properties at startup --> <property name="driverClass" value="${driverClass}" /> <property name="jdbcUrl" value="${jdbcUrl}" /> <property name="jdbcUrl" value="${jdbcUrl}" /> <property name="user" value="${user}" /> <property name="password" value = "$ {пароль}"/> </bean> <context: Property Placeholder location = ""/> Теги также могут быть заменены следующими тегами <Bean>. Мы более знакомы с тегами <Bean> и более читаемы: <!-Эквания вышеупомянутой конфигурации, следующим образом можно понять-> <bean> <name = "locations"> <!-В классе Propertyplaceholdercorer есть свойство местоположения. </array> </property> </bean> Хотя это кажется таким же кратким, как вышеуказанный <context:property-placeholder location=""/> , это яснее. Рекомендуется использовать следующий. Однако это ограничено XML, то есть используйте ${key} чтобы получить значение в файле конфигурации в Beans.xml.
2. Загрузите свойства. Файл посредством аннотации
Другим способом является использование аннотации @Value для загрузки значений в файле конфигурации посредством аннотации.
Давайте возьмем пример: если мы хотим получить абсолютный путь к определенному файлу в программе, мы, естественно, будем думать, что мы не можем написать его мертвым в программе, то мы также можем удалить файл свойств. Или создать новый файл public.properties в каталоге SRC, предполагая, что в нем записано запись:
filePath = e/: //web//apache-tomcat-8.0.26//webapps//e_shop//image
Если вы хотите получить этот FilePath через аннотации в коде Java, вы должны сначала настроить метод аннотации в файле beans.xml:
<!-Второй метод состоит в том, чтобы использовать инъекцию аннотации, которая в основном используется в коде Java, чтобы ввести соответствующее значение значения в файл свойств с использованием аннотаций-> <bean id = "prop"> <name = "locations"> <!-Это класс PropertiesFactoryBean. Он также имеет свойство местоположения, а также получает массив, как и вышеупомянутый <Array> <dulch> classpath: public.properties </value> </array> </property> </bean>
Теперь мы можем использовать аннотации в коде Java, чтобы получить значение FilePath:
@Component ("fileupload") открытый класс fileuploadutil реализует fileupload {private String filePath; @Value ("#{prop.filepath}") //@value означает найти бон с id = "prop" в файле beans.xml. Он считывает файл конфигурации свойств посредством аннотации, а затем считывает соответствующее значение значения key = filePath в соответствующем файле конфигурации public void setFilePath (String filePath) {System.out.println (filePath); this.filePath = filePath; }Обратите внимание, что должен быть установлен метод, который должен быть введен, а аннотация может быть записана в методе SET. В методе SETFilePath платель напечатана через консоль, чтобы наблюдать, есть ли консоль выходом при запуске Tomcat. Если это так, это означает, что пружина загрузила FilePath, когда он запускается. Давайте посмотрим на информацию о стартапе консоли:
Выше приведены два способа, которые нагружают файлы конфигурации Spring. Фактически, класс PropertyPlaceholderConfigurer выше на основе метода XML и класса PropertiesFactoryBean здесь на основе метода аннотации, как наследуют свойства, так и оба используются для загрузки файла конфигурации свойств.
Суммировать
Выше приведено подробное объяснение двух примеров файлов свойств нагрузки пружины, введенных редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!