首页 > 解决方案 > Spring Framework JDBC - 数据库密码更改

问题描述

我正在运行部署在 Apache Tomcat 服务器中的 Spring 应用程序

用下面的豆子,

<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. 这个 bean 是如何工作的,这个 bean 是否会验证应用程序发出的每个数据库请求的数据库凭据?

  2. 当应用程序运行并更新数据库密码时,此 bean 是否会因任何应用程序请求而失败,或者由于它已经过验证而可以工作

标签: springspring-mvcjdbcspring-jdbc

解决方案


对于第一个问题,当Datasource object as bean(singleton)被创建时,第一次验证数据库信息。之后,当您将 Datasource bean 注入事务管理器 bean 时,数据库操作将由这些 bean 管理,因此打开会话、提交、回滚等。查看@Transactional注释用法。

对于第二个,您可以更改 jar/war/ear 中的 bean 定义,然后重新启动您的应用程序。但是您可以在配置文件中传递这些信息,例如您在 .properties 中指定的 application.properties/datasource.properties applicationContext.xml。当您更改任何内容时,这将简化您的部署。如果不重新启动,您将无法为数据库传递新密码。


推荐阅读