-
我们知道springboot 都是一系列的bean 如果需要修改数据源信息,那么配置信息肯定是在某个bean中,即 DataSource,但是 DataSource的构建是通过 DataSourceBuilder.create().build() 来创建的,所以找到了 DataSourceBuilder.class 这个类;里面定义了创建数据库连接的基本属性
-
所以我们重新创建一个数据源配置类,来重新配置数据源
-
DataSourceConfig.java
@Configuration
@ComponentScan
//定义外部配置文件位置 此处的 ${CONFIG_PATH} 是系统环境变量中定义好的 CONFIG_PATH 可以指定其他的路径
@PropertySource(value="file:${CONFIG_PATH}dbConfig/mysql-jdbc.properites",ignoreResourceNotFound = true)
//配置文件属性名的前缀 比如 jdbc.driverClassName 前缀为jdbc 读取需要配置前缀
@ConfigurationProperties(prefix="jdbc")
public class DataSourceConfig{
private String driverClassName;
private String url;
private String username;
private String password;
// getter and setter.....
@Bean
public DataSource getDataSource(){
DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
dataSourceBuilder.driverClassName(this.driverClassName);
dataSourceBuilder.username(this.username);
dataSourceBuilder.password(this.password);
dataSourceBuilder.url(this.url);
return dataSourceBuilder.build();
}
}