多数据源配置DruidDataSource
时间: 2023-10-24 19:07:17 浏览: 92
在使用Druid作为数据源时,可以配置多个数据源,以便在应用程序中访问多个数据库。下面是一个简单的配置示例:
```java
@Configuration
public class DataSourceConfig {
private static final String DB_URL1 = "jdbc:mysql://localhost:3306/db1";
private static final String DB_URL2 = "jdbc:mysql://localhost:3306/db2";
private static final String DB_USERNAME = "root";
private static final String DB_PASSWORD = "password";
@Bean(name = "dataSource1")
@Primary
public DataSource dataSource1() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(DB_URL1);
dataSource.setUsername(DB_USERNAME);
dataSource.setPassword(DB_PASSWORD);
return dataSource;
}
@Bean(name = "dataSource2")
public DataSource dataSource2() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(DB_URL2);
dataSource.setUsername(DB_USERNAME);
dataSource.setPassword(DB_PASSWORD);
return dataSource;
}
}
```
在这个示例中,我们创建了两个数据源,dataSource1 和 dataSource2。其中,dataSource1 设置为默认数据源(Primary),因为使用了 @Primary 注解。这样,当使用 @Autowired 注解自动注入数据源时,如果没有指定具体的数据源名称,将会自动使用 dataSource1。
如果要使用 dataSource2,需要在注入时指定名称:
```java
@Service
public class MyService {
@Autowired
@Qualifier("dataSource2")
private DataSource dataSource;
// ...
}
```
这样,在 MyService 中就可以使用 dataSource2 数据源了。
阅读全文