SpringBootで複数のデータソースを設定する方法は何ですか?
SpringBootで複数のデータソースを設定する方法は以下の通りです。
1、例えば、application.propertiesやapplication.ymlファイルにデータソース情報を設定します。
# 第一个数据源
spring.datasource.url=jdbc:mysql://localhost:3306/db1
spring.datasource.username=user1
spring.datasource.password=password1
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 第二个数据源
custom.datasource.url=jdbc:mysql://localhost:3306/db2
custom.datasource.username=user2
custom.datasource.password=password2
custom.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
2、2つのデータソースの設定クラスを作成し、@Configurationと@Beanアノテーションを使用してそれぞれ設定します。例えば:
@Configuration
public class DataSourceConfig {
@Primary
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "customDataSource")
@ConfigurationProperties(prefix = "custom.datasource")
public DataSource customDataSource() {
return DataSourceBuilder.create().build();
}
}
3、データソースが必要な場所で、@Qualifier注釈を使用してデータソースの名前を指定します。例えば、
@Service
public class UserService {
@Autowired
@Qualifier("dataSource")
private DataSource dataSource;
@Autowired
@Qualifier("customDataSource")
private DataSource customDataSource;
}
SpringBootに複数のデータソースを設定し、必要な場所で特定のデータソースを指定する方法があります。