在spring boot项目中使用多个配置文件遇到的坑及最后的解决方式

我在自己的springboot项目中使用了多个配置文件,application.properties是主配置文件,放一些项目通用的配置,application-dev.properties 放的是平常开发的一些配置,比如说数据库的连接地址、帐号密码等,

application-prod.properties 放的是生产环境的一些配置,比如说数据库的连接地址、帐号密码等,

当然也可以再多一个application-test.properties ,放一些测试环境需要用到的参数。

可以通过在application.properties 中设置spring.profiles.active=prod或者dev来使用application-dev.properties或者application-prod.properties文件,当然test文件也是同理。


数据库的配置,我给自己挖了两个大坑,一个是把spring.datasource.username写成spring.datasource.data-username,把

spring.datasource.password写成spring.datasource.data-password,然后没发现,一直没法使用多配置文件的方式,还以为是多配置文件的方式错了,把properties文件的方式修改成yml的方式,还是不行。。。后面发现了,修正过来之后还是不行,原因更是让我崩溃,我把数据库的名称写错了,这两个错误让我一直误以为是多配置文件的方式不行,其实问题都出现在自己最容易忽略的地方,在错误的方向上一直查找问题让我费了好大劲,结果却是这种简单的问题。。。做个记录给自己警醒!



Spring-Boot配置文件数据源配置项(常用配置项为红色

参数 介绍
spring.datasource.continue-on-error = false 初始化数据库时发生错误时,请勿停止
spring.datasource.data = Data(DML)脚本资源引用
spring.datasource.data-username = 执行DML脚本(如果不同)的数据库用户
spring.datasource.data-password = 执行DML脚本的数据库密码(如果不同)
spring.datasource.dbcp2.* = Commons DBCP2具体设置
spring.datasource.driver-class-name JDBC驱动程序的完全限定名称默认情况下,根据URL自动检测
spring.datasource.generate-unique-name = false 生成随机数据源名称
spring.datasource.hikari.* = Hikari具体设置
spring.datasource.initialize = true 使用’data.sql’填充数据库
spring.datasource.jmx-enabled = false 启用JMX支持(如果基础池提供)
spring.datasource.jndi-name = 数据源的JNDI位置。设置时,类,网址,用户名和密码将被忽略
spring.datasource.name = testdb 数据源的名称
spring.datasource.password 登录数据库的密码
spring.datasource.platform =所有 在架构资源中使用的平台(schema - $ {platform} .sql)
spring.datasource.schema = Schema(DDL)脚本资源引用
spring.datasource.schema-username = 数据库用户执行DDL脚本(如果不同)
spring.datasource.schema-password = 执行DDL脚本的数据库密码(如果不同)
spring.datasource.separator =; 语句分隔符在SQL初始化脚本中
spring.datasource.sql-script-encoding = SQL脚本编码
spring.datasource.tomcat.* = Tomcat数据源特定设置
spring.datasource.type = 要使用的连接池实现的完全限定名称。默认情况下,它是从类路径自动检测的
spring.datasource.url 数据库的JDBC url
spring.datasource.username 登录数据库的用户
spring.datasource.xa.data-source-class-name = XA datasource全限定名
spring.datasource.xa.properties = 传递给XA数据源的属性。

猜你喜欢

转载自blog.csdn.net/huangyuehong914/article/details/80521917
今日推荐