Возникли проблемы при правильной настройке моего pom.xml для передачи переменной в файл XML - PullRequest
0 голосов
/ 30 мая 2018

Так что я пробираюсь через это, это проект, который я беру на себя, потому что никто больше не может (оригинальный разработчик ушел, никто другой не имеет никакого опыта, чтобы сделать это), но я стараюсь изо всех сил здесь,Мои извинения, если то, что у меня уже есть, не имеет смысла, я действительно не разработчик.

Итак, у меня есть файл pom.xml, а в разделе ресурсов он извлекает значения из некоторых каталогов ресурсов, в зависимости отв используемом профиле:

<resources>
    <resource>
        <directory>src/main/resources/${profile.name}</directory>
        <includes>
            <include>../../webapp/WEB-INF/applicationContext.xml</include>
        </includes>
        <filtering>true</filtering>
    </resource>
</resources>

Одна строка в src / main / resources / test / application.properties выглядит следующим образом:

app.api.databaseUrl=jdbc:mysql://databasehostname:3306/testDatabase

Вы увидите выше, что я пыталсяполучить его, чтобы поместить это значение в мой файл applicationContext.xml, чтобы можно было использовать другую базу данных для профилей test и prod, но эта часть не работает.Кажется, он извлекает все значения из application.properties, но я не могу понять, как поместить их в applicationContext.xml.Вот что у меня есть в этом файле:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd">

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="${app.api.databaseUrl}"/>
    <property name="username" value="username" />
    <property name="password" value="password" />
</bean>

<bean id="cartDAO" class="com.crown.apps.cart.dao.impl.CartDAOImpl">
    <property name="dataSource" ref="dataSource" />
</bean>

При создании файла войны «$ {app.api.databaseUrl}» не изменяется на правильное значение, оно остаетсяТо же самое.

Я уверен, что я делаю что-то совершенно и совершенно неправильно, я уверен, что мои настройки pom.xml неверны, но я не знаю, с чего начать это исправлять.Любой совет?

1 Ответ

0 голосов
/ 30 мая 2018

Похоже, вы используете Spring 3.x, поэтому, пожалуйста, отметьте эту статью .По сути, вы должны указать расположение файла свойств в XML-файле конфигурации вашего компонента: <context:property-placeholder location="classpath:foo.properties" />

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