1. 程式人生 > >Spring boot配置mybatis的xml資源熱載入

Spring boot配置mybatis的xml資源熱載入

我這個是基於這個部落格的基礎上實現mybatis熱載入的,但是原部落格是基於spring+springmvc+mybatis實現的,我這裡是基於spring boot實現,部分實現方法有些改變;

原部落格地址:http://thinkgem.iteye.com/blog/2304557

首先整理出幾個需要注意的檔案:

1:com.xxx.core.mybatis.MapperRefresh;

2:com.xxx.core.mybatis.SqlSessionFactoryBean;

3:mybatis-refresh.properties(在resource目錄下);

4:application.yml(resource目錄下);

5:com.xxx.core.mybatis.MyBatisConfig。

前面三個檔案,是原來舊的spring+springmvc+mybatis架構的工程使用mybatis熱載入的時候的三個檔案;咩有任何變化,然後下面兩個檔案,說一下MyBatisConfig,,這個是我新寫的一個檔案,這個檔案的作用相當於以前的在applicationContext.xml檔案中配置sqlSessionFactoryBean,現在是手動配置這個bean的來源;最後是yml檔案,這個檔案中只改了一行程式碼:

原來的:

mybatis:

typeAliasesPackage: com.xxx.

**.model

mapperLocations: classpath*:com/xxx/**/sqlMap/*Mapper.xml

config-location:mybatis-config.xml

現在的:

mybatis:

typeAliasesPackage: com.xxx.**.model

mapperLocations: classpath*:com/xxx/**/sqlMap/*Mapper.xml 

 configLocation:classpath:mybatis-config.xml

配置好這些檔案之後,啟動程式之後修改xml檔案,日誌就應該會出現這一句話

這時候熱載入就應該是成功了。

相關檔案下載地址:

http://download.csdn.net/download/mate_ge/10233769

[2018-10-16]補充:

一些依賴

 <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>com.google.collections</groupId>
            <artifactId>google-collections</artifactId>
            <version>1.0</version>
        </dependency>

MapperRefresh.java

在184行加上這個

mybatis-refresh.properties檔案中直接填跟包名即可,比如我這裡business