2016-01-28 2 views
1

Я довольно новичок в Spring/Hibernate. Я вижу, что параметры подключения к БД в persistence.xml файле:Получение пользователя и пароль из системы/файла в persistence.xml

<properties> 
     <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/tbm" /> 
     <property name="javax.persistence.jdbc.user" value="root" /> 
     <property name="javax.persistence.jdbc.password" value="root" /> 
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> 
     <property name="hibernate.show_sql" value="true" /> 
     <property name="hibernate.hbm2ddl.auto" value="update" /> 
    </properties> 

мне было интересно, если это возможно, чтобы получить user и password значения от System-свойств.

Контекст: У меня есть Java Webapp, который упакован как файл .war. В военном файле я не вижу xml нигде, но хочу, чтобы war работал для системы с различными учетными данными mysql, просто изменив некоторые файлы конфигурации на войне.

+0

Пожалуйста, проверьте 9.4.1 в http://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html – ArunM

+0

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

+0

@ArunM: Спасибо за предложение, но это не сработало для меня. Его пока еще не удается подключиться к пользователю, т. Е. Не получать системные свойства. –

ответ

1

В вашем Spring файл конфигурации XML, добавить код:

<mvc:resources location="/resources/" mapping="/resources/**" cache-period="604800" /> 

В вашем WebAPP реж: config.properties

в config.properties:

jdbc.url=jdbc:mysql://localhost:3306/tbm 
jdbc.username=root 
jdbc.password= 

Использование весной конфигурации XML:

<property name="javax.persistence.jdbc.url" value="${jdbc.url}" /> 
Смежные вопросы