Mybatis-Plus3.2.0 MetaObjectHandler 無法進(jìn)行公共字段全局填充
問題描述
最近在做的這個項目架構(gòu)組對于配置文件決定,采取的是 .xml 配置文件
一個數(shù)據(jù)中臺項目,因為部署環(huán)境比較復(fù)雜,可能需要適配阿里、騰訊、開源等環(huán)境和機(jī)房,所以配置文件和啟動類為三類
之前寫的 MetaObjectHandler 都是采用的 SpringBoot 配置方式開發(fā),突然換成 .xml 配置文件,還是有不少坑的,其中就有配置的 MetaObjectHandler 死活不起作用 ⬆️🔥(上火)
問題代碼
這種方式放在 平常 SpringBoot 項目中,一點(diǎn)毛病沒有…
@Component
public class MybatisPlusObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
Date now = new Date();
Object crteTime = getFieldValByName("crteTime", metaObject);
if (Objects.isNull(crteTime)) {
setFieldValByName("crteTime", now, metaObject);
}
Object optTime = getFieldValByName("optTime", metaObject);
if (Objects.isNull(optTime)) {
setFieldValByName("optTime", now, metaObject);
}
setFieldValByName("invdFlag", TpcConstant.INVD, metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
Object optTime = getFieldValByName("optTime", metaObject);
if (Objects.isNull(optTime)) {
setFieldValByName("optTime", new Date(), metaObject);
}
}
}
解決方式
將 MybatisPlusObjectHandler 類上的 @Component 去掉,換成在 .xml 中注冊
<bean class="xxx.xxx.xxx.MybatisPlusObjectHandler" id="myMetaObjectHandler"/>
<bean id="globalConfiguration" class="com.baomidou.mybatisplus.core.config.GlobalConfig">
<property name="metaObjectHandler" ref="myMetaObjectHandler"/>
</bean>
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<!-- 注入公共字段填充處理器 -->
<property name="globalConfig" ref="globalConfiguration" />
</bean>
問題解決 還是比較疑問 既然采用了 SpringBoot 開發(fā)框架,為什么還是要使用 .xml 配置文件的這種方式,如果有大佬知道,歡迎評論區(qū)留言或私信 👏
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java中BM(Boyer-Moore)算法的圖解與實現(xiàn)
本文主要介紹了兩個大的部分,第一部分通過圖解的方式講解BM算法,第二部分則代碼實現(xiàn)一個簡易的BM算法,感興趣的小伙伴可以學(xué)習(xí)一下2022-05-05
Windows10系統(tǒng)下JDK1.8的下載安裝及環(huán)境變量配置的教程
這篇文章主要介紹了Windows10系統(tǒng)下JDK1.8的下載安裝及環(huán)境變量配置的教程,本文圖文并茂給大家介紹的非常詳細(xì),對大家的工作或?qū)W習(xí)具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
解決StringBuffer和StringBuilder的擴(kuò)容問題
這篇文章主要介紹了解決StringBuffer和StringBuilder的擴(kuò)容問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot集成支付寶沙箱支付的實現(xiàn)示例
本文主要介紹了SpringBoot集成支付寶沙箱支付的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12
SpringSecurity中的Filter Chain(過濾器鏈)
Spring Security的Filter Chain是由一系列過濾器組成的管道,每個過濾器執(zhí)行特定的安全功能,Spring Security能夠提供強(qiáng)大而靈活的安全控制機(jī)制,從而保護(hù)你的應(yīng)用程序不受各種網(wǎng)絡(luò)安全威脅的侵害,本文介紹SpringSecurity中的Filter Chain,感興趣的朋友跟隨小編一起看看吧2024-06-06
微信js-sdk+JAVA實現(xiàn)“分享到朋友圈”和“發(fā)送給朋友”功能詳解
本文分享了微信js-sdk+JAVA實現(xiàn)“分享到朋友圈”和“發(fā)送給朋友”功能介紹,大家可以參考一下2018-03-03

