通过外部化 `config.properties` 文件更换数据库配置
文章目录
- 1. 创建外部配置目录
- 2. 修改外部 `config.properties` 文件
- 3. 修改 `applicationContext.xml` 或 `spring-mybatis.xml`
- 4. 修改Tomcat启动脚本 (可选但推荐)
- 5. 重启Tomcat
- 6. 验证配置生效
- 7. `startup.bat` 与 `catalina.bat` 的区别
- 8. 常见错误排查
- 9. 总结(Windows下最推荐方法)
在Windows环境下部署的Tomcat,如果想要不修改war包直接更换数据库配置,可以使用外部化配置文件的方法。
1. 创建外部配置目录
在Windows下,创建一个目录用于存放外部的 config.properties
文件:
- 在
C:\tomcat\config\
目录下创建一个新的配置文件夹(目录可自定义)。 - 将原来的
config.properties
文件从WEB-INF/classes
目录下复制到C:\tomcat\config\
。
2. 修改外部 config.properties
文件
在 C:\tomcat\config\config.properties
文件中,修改数据库连接信息:
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://newdbhost:3306/newdbname
username=newuser
password=newpassword
3. 修改 applicationContext.xml
或 spring-mybatis.xml
修改 applicationContext.xml
(或者 spring-mybatis.xml
)
确保Spring配置文件能够引用外部的 config.properties
文件。
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<!-- 使用绝对路径引用外部的config.properties -->
<property name="location" value="file:C:/tomcat/config/config.properties"/>
</bean>
4. 修改Tomcat启动脚本 (可选但推荐)
如果不想修改 .xml
文件,也可以通过Tomcat启动参数直接指定配置文件路径。
-
打开
Tomcat
的bin
目录下的catalina.bat
文件。 -
在
set JAVA_OPTS
这一行下方添加以下内容:set JAVA_OPTS=-Dspring.config.location=file:C:/tomcat/config/config.properties
-
保存文件后,Tomcat启动时会自动加载外部的
config.properties
文件。
5. 重启Tomcat
- 打开
Windows 服务管理器
(Win + R 输入services.msc
)。 - 找到
Apache Tomcat
服务,点击 重新启动。
6. 验证配置生效
- 访问你的 Web 应用程序。
- 检查 Tomcat 的
logs/catalina.out
或logs/your_app.log
日志,确保数据库连接成功。
7. startup.bat
与 catalina.bat
的区别
startup.bat
:是一个启动脚本,用于启动Tomcat,它会调用catalina.bat
。catalina.bat
:是Tomcat的核心启动脚本,负责具体的Tomcat启动逻辑。- 推荐位置:由于
startup.bat
本质上是调用catalina.bat
,推荐将JAVA_OPTS
写在catalina.bat
中,或者更规范的方式是在setenv.bat
中进行配置。
8. 常见错误排查
❌ 错误1:Could not resolve placeholder 'driverClassName'
- 原因:外部配置文件路径错误,或文件权限不足。
- 解决方案:
- 确保路径格式正确:
file:C:/tomcat/config/config.properties
- 检查
C:\tomcat\config
目录下文件存在且可读。
- 确保路径格式正确:
❌ 错误2:Access Denied
数据库连接失败
- 原因:用户名或密码错误,或者数据库用户权限不足。
- 解决方案:
- 检查
config.properties
中的username
和password
是否正确。 - 确保数据库用户有足够权限连接该数据库。
- 检查
9. 总结(Windows下最推荐方法)
- 创建外部
config.properties
文件(如C:\tomcat\config\config.properties
)。 - 修改
applicationContext.xml
或 使用catalina.bat
外部化配置路径。 - 重启Tomcat,配置生效。
这样就可以在不重新打包 .war
文件的情况下更换数据库连接配置了。