SpringBoot集成多数据源解析

  

一、前面我们介绍了springboot的快速启动,大家肯定对springboot也有所了,解下面我们来介绍一下springboot怎么集成多数据源。

  

在有的项目开发中需要在一个项目中访问多个数据源或者两个项目之间通信(实质上是互相访问对方的数据库),在这里,我们介绍一下在一个项目中如何集成多个数据源(即访问多个不同的数据库),因为在项目中有时会有这种需求,比如在一个大型项目开发中,一个数据库中保存数据的索引,各种使用频繁的数据,另一个数据库中保存其他的数据。

  

1。下面我们来讨论一个问题,怎么集成多数据源,就是怎么让一个项目访问多个数据库?
  

  

有的人会说使用注解,没的错,这是一种办法,因为springboot对的最大好处就是避免了繁琐的xml配置文件,大量的使用注解来开发,方便简洁,但是在这里如果集成多数据源使用注解的话会很麻烦,有没有其他的办法呢?答案是肯定的,我们可以分模板来访问多个数据库,也就是分包。

  

2。如何分包来访问多个数据源?
  

  

在这里,我们用一个简单的案例来说明,我们访问新建一个spingboot项目,访问test1, test2这两个数据库,首先,我们先看代码。

  

首先,我们需要导入相关依赖在pom文件中,这里,因为我的项目已经提前有了父pom,所以不再考虑依赖的版本问题,怎么建立父pom可参考上一篇文章。

        & lt;项目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”比;   & lt; modelVersion> 4.0.0   & lt; parent>   & lt; groupId> cn.shinelon.springboot   & lt; artifactId> microboot   & lt; version> 0.0.1-SNAPSHOT   & lt;/parent>   & lt; artifactId> springboot-MultiDatasources   & lt; packaging> war         & lt; !——maven项目包装改为战争类型时,必须要加这个插件——比;   & lt; build>   & lt; plugins>   & lt; plugin>   & lt; groupId> org.apache.maven.plugins   & lt; artifactId> maven-war-plugin   & lt; version> 2.3 & lt;/version>   & lt; configuration>   & lt; failOnMissingWebXml> false   & lt;/configuration>   & lt;/plugin>   & lt;/plugins>   & lt;/build>   & lt; dependencies>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-web   & lt;/dependency>   & lt; !——测试springboot的依赖——比;   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-test   & lt; scope> test   & lt;/dependency>      & lt; !——测试时加入这两个依赖,当修改代码的时候就不用每次修改后重启服务器了——比;   & lt; dependency>   & lt; groupId> org.springframework   & lt; artifactId> springloaded   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-devtools   & lt;/dependency>   & lt; !——springboot集成jsp必须要借助这两个依赖——比;   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-tomcat   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.apache.tomcat.embed   & lt; artifactId> tomcat-embed-jasper   & lt;/dependency>   & lt; !——springboot集成mybatis——比;   & lt; dependency>   & lt; groupId> org.mybatis.spring.boot   & lt; artifactId> mybatis-spring-boot-starter   & lt; version> 1.3.0   & lt;/dependency>   & lt; dependency>   & lt; groupId> mysql   & lt; artifactId> mysql-connector-java   & lt;/dependency>   & lt;/dependencies>   & lt;/project>      

在上面配置的pom文件中,有点要说明,因为要访问数据库,所以我整合了mybatis,还有一个是整合jsp,不过在这个项目中无关,是我之前写代码留下来的,可不必关心。

  

下面,我们还要在可控硅/主要来源目录下新建一个application.properties资源文件,注意,这个文件名必须是应用程序,这个是固定的,springboot默认访问该文件,不要自己乱改名称,然后在这个资源文件中配置自定义数据源。

SpringBoot集成多数据源解析