這篇文章主要講解了Spring Boot項(xiàng)目如何添加外部Jar包以及配置多數(shù)據(jù)源,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
成都創(chuàng)新互聯(lián)是少有的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、營銷型企業(yè)網(wǎng)站、微信小程序、手機(jī)APP,開發(fā)、制作、設(shè)計(jì)、賣鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,自2013年起,堅(jiān)持透明化,價(jià)格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評(píng)
前言
最近項(xiàng)目需要和Oracle數(shù)據(jù)庫進(jìn)行交互,然后我從Maven中央倉庫下載數(shù)據(jù)庫驅(qū)動(dòng)jar包,但怎么都下不下來,我到Oracle官網(wǎng)上一看,我去,居然不讓用Maven直接下(大學(xué)時(shí)候用過Oracle,很久遠(yuǎn)的事情了0rz),沒辦法我還是直接下載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),不過這個(gè)坐標(biāo)比較特殊,我們需要直接定位到我們上一步添加的文件,而不是從Maven倉庫里面去下載,以ojdbc6.jar為例,配置依賴如下:
com.oracle ojdbc6 12.1.0.2.0 system ${project.basedir}/lib/ojdbc6.jar
這里比較特殊的是systemPath,常見的Maven坐標(biāo)是沒有這個(gè)的,這里面直接指定該jar的相對(duì)路徑(相對(duì)項(xiàng)目的根目錄),這樣Maven在編譯的時(shí)候就不會(huì)從中央倉庫里面去下載該jar包了。但只配置這個(gè)還不行,還需要配置SpringBoot編譯時(shí)插件屬性includeSystemScope,具體如下:
org.springframework.boot spring-boot-maven-plugin true
上面配置完畢,我們就可以直接執(zhí)行mvn clean install進(jìn)行打包,然后我們查看打好的jar包里面包含的jar包,會(huì)發(fā)現(xiàn)ojdbc6.jar這個(gè)包已經(jīng)正確被包含進(jìn)去了。
由于對(duì)接的項(xiàng)目比較老,要與其數(shù)據(jù)庫進(jìn)行交互,而且數(shù)據(jù)庫類型不一致,所以我們的項(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來操作不同的數(shù)據(jù)庫,所以我們還要?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;
看完上述內(nèi)容,是不是對(duì)Spring Boot項(xiàng)目如何添加外部Jar包以及配置多數(shù)據(jù)源有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。