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.
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