• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Spring Boot项目添加外部Jar包以及配置多数据源的完整步骤

springboot 搞代码 4年前 (2022-01-09) 25次浏览 已收录 0个评论

前言

最近项目需要和Oracle数据库进行交互,然后我从Maven中央仓库下载数据库驱动jar包,但怎么都下不下来,我到Oracle官网上一看,我去,居然不让用Maven直接下(大学时候用过Oracle,很久远的事情了0rz),没办法我还是直接下载jar包放到我的项目里面吧。SpringBoot项目引入外部jar包是非常方便的,包含打引入外部jar等操作。

我的做法如下:

首先在src同级目录建一个lib文件夹,将第三方jar包放到这个文件内,比如我将ojdbc6.jar 这个jar包放到这个地方。

接着我们需要在pom.xml文件里配置jar的maven坐标,不过这个坐标比较特殊,我们需要直接定位到我们上一步添加的文件,而不是从Maven仓库里面去下载,以ojdbc6.jar为例,配置依赖如下:

<dependency>
 <groupId>com.oracle</groupId>
 <artifactId>ojdbc6</artifactId>
 <version>12.1.0.2.0</version>
 <scope>system</scope>
 <systemPath>${project.basedir}/lib/ojdbc6.jar</systemPath>
</dependency>

这里比较特殊的是systemPath,常见的Maven坐标是没有这个的,这里面直接指定该jar的相对路径(相对项目的根目录),这样Maven在编译的时候就不会从中央仓库里面去下载该jar包了。但只配置这个还不行,还需要配置SpringBoot编译时插件属性includeSystemScope,具体如下:

<plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
 <configuration>
 <includeSystemScope>true</includeSystemScope>
 </configuration>
</plugin>

上面配置完毕,我们就可以直接执行mvn clean install进行打包,然后我们查看打好的jar包里面包含的jar包,会发现ojdbc6.jar这个包已经正确被包含进去了。

由于对接的项目比较老,要与其数据库进行交互,而且数据库类型不一致,所以我们的项目需要支持多数据源(接口平台),这个还是非常好配置的,SpringBoot给我们提供了多数据源配置的方案,并且每个数据源对应一个JdbcTemplate,这样就方便很多,具体配置如下:

application.properties文件内配置多数据源信息

首先在application.properties或者yml文件内配置多数据源信息,具体配置如下:

# ds1数据源配置
spring.datasource.ds1.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.ds1.url=jdbc:mysql://localhost:3306/zz?useUnicode=true&characterEncoding=utf8
spring.datasource.ds1.username=zz
spring.datasource.ds1.password=zz

# ds2数据源配置
spring.datasource.ds2.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.ds2.url=jdbc:oracle:thin:@localhost:1521:orcl
spring.datasource.ds2.username=system
spring.datasource.ds2.password=050508

指定数据源与配置信息

上面我们配置好了数据源,但是已经不是SpringBoot默认的数据源配置信息了,所以我们还要指定不同的数据源实例对应哪个配置信息,配置如下:

/**
 * 多数据源配置
 */

public class DataSourceConfig {

 /**
  * ds1数据源配置
  *
  * @return 配置信息
  */
 
 (name = "ds1DataSourceProperties")
 (prefix = "spring.datasource.ds1")
 public DataSourceProperties ds1DataSourceProperties() {
  return new DataSourceProperties();
 }

 /**
  * ds1数据源
  *
  * @param dataSourceProperties 配置信息
  * @return 数据源实例
  */
 
 (name = "ds1D<a style="color:transparent">来@源gao*daima.com搞@代#码网</a>ataSource")
 public DataSource ds1DataSource(@Qualifier("ds1DataSourceProperties") DataSourceProperties dataSourceProperties) {
  return dataSourceProperties.initializeDataSourceBuilder().build();
 }

 /**
  * ds2数据源配置
  *
  * @return 配置信息
  */
 
 (name = "ds2DataSourceProperties")
 (prefix = "spring.datasource.ds2")
 public DataSourceProperties ds2DataSourceProperties() {
  return new DataSourceProperties();
 }

 /**
  * ds2数据源
  *
  * @param dataSourceProperties 配置信息
  * @return 数据源实例
  */
 
 (name = "ds2DataSource")
 public DataSource ds2DataSource(@Qualifier("ds2DataSourceProperties") DataSourceProperties dataSourceProperties) {
  return dataSourceProperties.initializeDataSourceBuilder().build();
 }

}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Spring Boot项目添加外部Jar包以及配置多数据源的完整步骤

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址