Как переопределить application.properties параметром командной строки, чтобы указать свойства источника данных - PullRequest
1 голос
/ 25 марта 2019

Я использую весеннюю загрузку 2.0.5.Я создаю приложение со встроенным котом.У меня есть требование, когда URL-адрес источника данных должен быть указан в качестве параметра командной строки для jar при запуске приложения.Поскольку приложение предназначено для запуска на рабочем столе различных клиентов, и может быть несколько баз данных, из которых экземпляр приложения должен использовать одну из них.

Я столкнулся с проблемой, когда при весенней загрузке всегда выбираются значения из приложения..properties и не переопределяя его значения тем, что я указываю в командной строке.

Как сделать так, чтобы пружинные свойства источника данных переопределялись теми, которые указаны в командной строке?

Я также попытался передатьпараметр командной строки

java -jar my_app.jar --server.port=8080 --spring.datasource.url=jdbc:mysql://localhost:3306/ssm-entp

ниже - это мой XML-конфиг источника данных.

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<!-- <bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource"> -->

    <context:property-placeholder location="file:application.properties" />

    <bean id="dataSource"
    class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">

    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="${spring.datasource.url}" />
    <property name="username" value="root" />
    <property name="password" value="password" />
    <property name="maxTotal" value="10" />
    <property name="maxIdle" value="5" />




    <!-- <property name="initialSize" value="1" />
    <property name="maxActive" value="5" /> -->
</bean>

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