springboot2.0配置多資料來源
阿新 • • 發佈:2018-11-30
SpringBoot 多資料來源
1.在開始之前需要宣告需要注意的一個點,在springboot2.0之後,在application.properties中datasource的url有所改動,需要修改為jdbc-url,下面我們基於JdbcTemplate介紹多資料來源的配置方式。
新增相關依賴:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.deli</groupId> <artifactId>springboot-datasource-jdbcTemplate</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <commons.lang.version>2.6</commons.lang.version> <commons.fileupload.version>1.3.1</commons.fileupload.version> <commons.io.version>2.5</commons.io.version> <commons.codec.version>1.10</commons.codec.version> <commons.configuration.version>1.10</commons.configuration.version> <commons.lang.version>2.6</commons.lang.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--alibaba資料來源--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.9</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!--apache commons--> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>${commons.lang.version}</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>${commons.fileupload.version}</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons.io.version}</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons.codec.version}</version> </dependency> <dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>${commons.configuration.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
多資料來源配置:
application.yml
建立一個spring的配置類,定義兩個DataSource去讀取application.yml中的不同配置,如主資料來源使用primary,第二個資料來源使用second,配置類程式碼如下
JdbcTemplate支援
這裡只需要在配置JdbcTemplate時注入不同的DataSource即可,配置如下:
程式碼測試
建立一個ApplicationTests