@MapperScan註解與@Mapper註解的使用
@MapperScan註解與@Mapper註解使用
@Mapper一般對應一個接口,相當於一個mapper.xml文件,它的作用就是將接口生成一個動態代理類。
當我們寫的mapper接口比較多的時候,我們沒必須花太多時間一個一個的寫,這樣寫太麻煩瞭,我們可以使用@ManpperScan註解,指明要掃描的包,它可以掃描所有的mapper文件。
它是如何做到的,我們可以查看裡面的源碼,主要起作用的就是裡面的@Import註解
感興趣的可以繼續查看MapperScannerRgiatrar的源碼,主要看registerBeanDefinitions這個方法,你就會豁然開朗。
MapperScan註解和@Mapper的區別
如下所述:
最早我們在mapper接口上添加@Mapper,通過xml文件下的namespace命名空間自動註入bean,這種方式要求每一個mapper類都需要添加此註解,比較麻煩;
我們可以在啟動類上添加@MapperScan(“Mapper類的包的路徑”)這個註解,來對mapper包進行掃描,從而使得mapper層中的接口可以不使用@Mapper註解;
同時,使用@MapperScan註解多個包。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- @MapperScan和@ComponentScan一塊使用導致沖突的解決
- Spring Dao層@Repository與@Mapper的使用
- mybatis註解之@Mapper和@MapperScan的使用
- 基於@MapperScan和@ComponentScan的使用區別
- mybatis那些約定的配置你真的都瞭解嗎(經驗總結)