我在自己的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数据源的属性。 |
公共配置文件不写端口 默认走8080