我想将Spring Boot与Legacy数据库一起使用,并使用hibernate。我必须同时访问DB2和Teradata作为数据源。我想知道这是否可行?我是Spring,SpringBoot的新手,不知道如何配置数据源,我是否还需要多个xml配置等。春季io网站的演示很好,但他们不处理我的任何要求。请指出我正确的方向。
答案 0 :(得分:1)
在Spring Boot中,配置多个数据源非常容易。 This部分文档详细描述了该过程。
从本质上讲,您需要做的就是在Spring引导可以找到它们的位置(最简单的地方是application.properties
)中拥有连接属性,然后配置bean。代码看起来像:
<强> application.properties 强>
datasource.primary.url=jdbc:mysql://localhost/test
datasource.primary.username=dbuser
datasource.primary.password=dbpass
datasource.secondary.url=jdbc:mysql://localhost/test2
datasource.secondary.username=dbuser2
datasource.secondary.password=dbpass2
Spring配置文件
@Bean
@Primary
@ConfigurationProperties(prefix="datasource.primary")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix="datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
您会注意到,目前没有使用哪种XML配置作为首选样式。实际上使用Spring Boot意味着您不必编写几乎任何配置:)