Spring Framework JDBC - изменения пароля базы данных - PullRequest
0 голосов
/ 17 декабря 2018

У меня запущено приложение Spring, развернутое на сервере Apache Tomcat

С бином ниже,

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/appln" />
        <property name="username" value="root" />
        <property name="password" value="password" />
        <property name="initialSize" value="3" />
        <property name="maxActive" value="10" />
    </bean>
  1. Как работает этот бин, будет ли этот бин проверять БДучетные данные для каждого запроса БД, сделанного из приложения?

  2. Когда приложение запущено и пароль базы данных обновлен, произойдет ли сбой этого компонента для любого запроса приложения или он работает, так как он уже проверен

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

В дополнение к тому, что сказал Семих Окан Пехливан,

Можно обновить пароль для базы данных, если вы поместите свойства в application.properties, хотя вам нужно будет добавить spring-cloud-starter вваши зависимости.

0 голосов
/ 17 декабря 2018

Для первого вопроса, когда создается объект источника данных в виде bean-компонента (singleton), информация базы данных проверяется в первый раз.После этого, когда вы внедряете свой компонент источника данных в компонент управления транзакциями, эти компоненты будут управлять операциями базы данных, поэтому открытый сеанс, фиксация, откат и т. Д. Посмотрите @Транзакционное использование аннотации.

Во втором случае вы можете изменить определение bean-компонента в jar / war / ear, после чего перезапустите ваше приложение.Но вы можете передать эту информацию в файл конфигурации, например application.properties/datasource.properties, который вы указали в applicationContext.xml.Это упростит ваше развертывание, когда вы что-то измените.Без перезапуска вы не сможете передать новый пароль для базы данных.

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