代码敬上
package org.jeecg.modules.datasource;
import com.alibaba.druid.pool.DruidDataSource;
import io.seata.rm.datasource.DataSourceProxy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.env.Environment;
import javax.sql.DataSource;
@Configuration
public class DataSourceConfig {
@Autowired
private Environment env;
@Bean
public DataSource getDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(env.getProperty("spring.datasource.dynamic.datasource.mitu-cloud-finance.url"));
dataSource.setUsername(env.getProperty("spring.datasource.dynamic.datasource.mitu-cloud-finance.username"));
dataSource.setPassword(env.getProperty("spring.datasource.dynamic.datasource.mitu-cloud-finance.password"));
dataSource.setDriverClassName(env.getProperty("spring.datasource.dynamic.datasource.mitu-cloud-finance.driver-class-name"));
//这上面是获取配置文件中的信息,url,username,password,driverclassname等
return dataSource;
}
@Primary
@Bean("dataSource")
public DataSourceProxy dataSource(DataSource druidDataSource) {
return new DataSourceProxy(druidDataSource);
}
}
在启动类上添加上以下注解
@Import(DataSourceConfig.class) //DataSourceConfig是上面配置文件的
同时在@SpringBootApplication注解上排除自动加载数据源
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
启动类上的注解图