最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot項(xiàng)目添加外部Jar包以及配置多數(shù)據(jù)源的完整步驟

 更新時(shí)間:2020年06月10日 08:35:55   作者:Mingshan  
這篇文章主要給大家介紹了關(guān)于Spring Boot項(xiàng)目添加外部Jar包以及配置多數(shù)據(jù)源的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

最近項(xiàng)目需要和Oracle數(shù)據(jù)庫(kù)進(jìn)行交互,然后我從Maven中央倉(cāng)庫(kù)下載數(shù)據(jù)庫(kù)驅(qū)動(dòng)jar包,但怎么都下不下來(lái),我到Oracle官網(wǎng)上一看,我去,居然不讓用Maven直接下(大學(xué)時(shí)候用過(guò)Oracle,很久遠(yuǎn)的事情了0rz),沒(méi)辦法我還是直接下載jar包放到我的項(xiàng)目里面吧。SpringBoot項(xiàng)目引入外部jar包是非常方便的,包含打引入外部jar等操作。

我的做法如下:

首先在src同級(jí)目錄建一個(gè)lib文件夾,將第三方j(luò)ar包放到這個(gè)文件內(nèi),比如我將ojdbc6.jar 這個(gè)jar包放到這個(gè)地方。

接著我們需要在pom.xml文件里配置jar的maven坐標(biāo),不過(guò)這個(gè)坐標(biāo)比較特殊,我們需要直接定位到我們上一步添加的文件,而不是從Maven倉(cāng)庫(kù)里面去下載,以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,常見(jiàn)的Maven坐標(biāo)是沒(méi)有這個(gè)的,這里面直接指定該jar的相對(duì)路徑(相對(duì)項(xiàng)目的根目錄),這樣Maven在編譯的時(shí)候就不會(huì)從中央倉(cāng)庫(kù)里面去下載該jar包了。但只配置這個(gè)還不行,還需要配置SpringBoot編譯時(shí)插件屬性includeSystemScope,具體如下:

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

上面配置完畢,我們就可以直接執(zhí)行mvn clean install進(jìn)行打包,然后我們查看打好的jar包里面包含的jar包,會(huì)發(fā)現(xiàn)ojdbc6.jar這個(gè)包已經(jīng)正確被包含進(jìn)去了。

由于對(duì)接的項(xiàng)目比較老,要與其數(shù)據(jù)庫(kù)進(jìn)行交互,而且數(shù)據(jù)庫(kù)類型不一致,所以我們的項(xiàng)目需要支持多數(shù)據(jù)源(接口平臺(tái)),這個(gè)還是非常好配置的,SpringBoot給我們提供了多數(shù)據(jù)源配置的方案,并且每個(gè)數(shù)據(jù)源對(duì)應(yīng)一個(gè)JdbcTemplate,這樣就方便很多,具體配置如下:

application.properties文件內(nèi)配置多數(shù)據(jù)源信息

首先在application.properties或者yml文件內(nèi)配置多數(shù)據(jù)源信息,具體配置如下:

# ds1數(shù)據(jù)源配置
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數(shù)據(jù)源配置
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

指定數(shù)據(jù)源與配置信息

上面我們配置好了數(shù)據(jù)源,但是已經(jīng)不是SpringBoot默認(rèn)的數(shù)據(jù)源配置信息了,所以我們還要指定不同的數(shù)據(jù)源實(shí)例對(duì)應(yīng)哪個(gè)配置信息,配置如下:

/**
 * 多數(shù)據(jù)源配置
 */

public class DataSourceConfig {

 /**
  * ds1數(shù)據(jù)源配置
  *
  * @return 配置信息
  */
 
 (name = "ds1DataSourceProperties")
 (prefix = "spring.datasource.ds1")
 public DataSourceProperties ds1DataSourceProperties() {
  return new DataSourceProperties();
 }

 /**
  * ds1數(shù)據(jù)源
  *
  * @param dataSourceProperties 配置信息
  * @return 數(shù)據(jù)源實(shí)例
  */
 
 (name = "ds1DataSource")
 public DataSource ds1DataSource(@Qualifier("ds1DataSourceProperties") DataSourceProperties dataSourceProperties) {
  return dataSourceProperties.initializeDataSourceBuilder().build();
 }

 /**
  * ds2數(shù)據(jù)源配置
  *
  * @return 配置信息
  */
 
 (name = "ds2DataSourceProperties")
 (prefix = "spring.datasource.ds2")
 public DataSourceProperties ds2DataSourceProperties() {
  return new DataSourceProperties();
 }

 /**
  * ds2數(shù)據(jù)源
  *
  * @param dataSourceProperties 配置信息
  * @return 數(shù)據(jù)源實(shí)例
  */
 
 (name = "ds2DataSource")
 public DataSource ds2DataSource(@Qualifier("ds2DataSourceProperties") DataSourceProperties dataSourceProperties) {
  return dataSourceProperties.initializeDataSourceBuilder().build();
 }

}

配置JdbcTemplate與數(shù)據(jù)源關(guān)系

配置完數(shù)據(jù)源信息,我們想直接用不同的JdbcTemplate來(lái)操作不同的數(shù)據(jù)庫(kù),所以我們還要?jiǎng)?chuàng)建幾個(gè)JdbcTemplate實(shí)例,并且這些實(shí)例與不同的數(shù)據(jù)源進(jìn)行綁定,配置信息如下:

/**
 * JdbcTemplate 多數(shù)據(jù)源配置
 *
 * @author 明山
 * @see DataSourceConfig
 */

public class JdbcTemplateDataSourceConfig {

 /**
  * ds1 JdbcTemplate 配置
  *
  * @param dataSource 數(shù)據(jù)源
  * @return JdbcTemplate
  */
 
 (name = "ds1JdbcTemplate")
 public JdbcTemplate jdbcTemplate(@Qualifier("ds1DataSource") DataSource dataSource) {
  return new JdbcTemplate(dataSource);
 }

 /**
  *ds2 JdbcTemplate 配置
  *
  * @param dataSource 數(shù)據(jù)源
  * @return JdbcTemplate
  */
 (name = "ds2JdbcTemplate")
 public JdbcTemplate hdwmsJdbcTemplate(@Qualifier("ds2DataSource") DataSource dataSource) {
  return new JdbcTemplate(dataSource);
 }
}

使用JdbcTemplate

配置完后,我們可以直接在具體的類中使用了,使用方式如下:

("ds1JdbcTemplate")
private JdbcTemplate ds1JdbcTemplate;


("ds2JdbcTemplate")
private JdbcTemplate ds2JdbcTemplate;

總結(jié)

到此這篇關(guān)于Spring Boot項(xiàng)目添加外部Jar包以及配置多數(shù)據(jù)源的文章就介紹到這了,更多相關(guān)Spring Boot項(xiàng)目添加外部Jar包及配置多數(shù)據(jù)源內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何開(kāi)發(fā)基于Netty的HTTP/HTTPS應(yīng)用程序

    如何開(kāi)發(fā)基于Netty的HTTP/HTTPS應(yīng)用程序

    HTTP/HTTPS是最常見(jiàn)的協(xié)議套件之一,并且隨著智能手機(jī)的成功,它的應(yīng)用也日益廣泛,因?yàn)閷?duì)于任何公司來(lái)說(shuō),擁有一個(gè)可以被移動(dòng)設(shè)備訪問(wèn)的網(wǎng)站幾乎是必須的。下面就來(lái)看看如何開(kāi)發(fā)基于Netty的HTTP/HTTPS應(yīng)用程序
    2021-06-06
  • 如何在Spring data中使用r2dbc詳解

    如何在Spring data中使用r2dbc詳解

    這篇文章主要給大家介紹了關(guān)于如何在Spring data中使用r2dbc的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • MyBatis使用雪花ID的實(shí)現(xiàn)

    MyBatis使用雪花ID的實(shí)現(xiàn)

    本文主要介紹了MyBatis使用雪花ID的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • java操作XML實(shí)例代碼

    java操作XML實(shí)例代碼

    這篇文章主要介紹了java操作XML實(shí)例代碼,有需要的朋友可以參考一下
    2014-01-01
  • SpringMvc實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能

    SpringMvc實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了SpringMvc實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • struts2自定義MVC框架

    struts2自定義MVC框架

    這篇文章主要為大家詳細(xì)介紹了struts2如何自定義MVC框架,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • SpringBoot操作Jedis案例代碼

    SpringBoot操作Jedis案例代碼

    這篇文章主要介紹了SpringBoot操作Jedis案例代碼,代碼部分包括pom依賴、配置相關(guān)參數(shù)、JedisPool的設(shè)置,代碼簡(jiǎn)單易懂對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Java中對(duì)象與C++中對(duì)象的放置安排的對(duì)比

    Java中對(duì)象與C++中對(duì)象的放置安排的對(duì)比

    這篇文章主要介紹了Java中對(duì)象與C++中對(duì)象的放置安排的對(duì)比的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • java?Map.Entry的使用示例

    java?Map.Entry的使用示例

    Map.Entry是Java中Map接口的嵌套接口,它提供了獲取鍵和值的方法及遍歷和操作Map的鍵值對(duì),本文就來(lái)詳細(xì)的介紹一下,感興趣的可以了解一下
    2024-11-11
  • SpringCache緩存自定義配置的實(shí)現(xiàn)

    SpringCache緩存自定義配置的實(shí)現(xiàn)

    本文主要介紹了SpringCache緩存自定義配置的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評(píng)論

弥勒县| 色达县| 晋城| 姜堰市| 峨眉山市| 讷河市| 日喀则市| 忻州市| 慈溪市| 泗水县| 申扎县| 兴和县| 桐乡市| 临邑县| 南丰县| 宁陵县| 射洪县| 平武县| 龙井市| 安阳市| 天水市| 大姚县| 新巴尔虎左旗| 二连浩特市| 伊吾县| 乡宁县| 扎鲁特旗| 张北县| 长宁县| 宜黄县| 富民县| 巢湖市| 精河县| 崇州市| 呼玛县| 察哈| 诏安县| 凉城县| 大洼县| 新乡县| 洛隆县|