<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SpringBoot自定義場(chǎng)景啟動(dòng)器(starter)

          共 1637字,需瀏覽 4分鐘

           ·

          2020-11-06 02:52

          點(diǎn)擊上方藍(lán)色字體,選擇“標(biāo)星公眾號(hào)”

          優(yōu)質(zhì)文章,第一時(shí)間送達(dá)

          ? 作者?|??秋風(fēng)颯颯吹

          來源 |? urlify.cn/IzqIB3

          66套java從入門到精通實(shí)戰(zhàn)課程分享

          有時(shí)候,springboot官方提供的場(chǎng)景啟動(dòng)器(starter)并不能很好的滿足我們的需求。

          一些配置類仍然需要我們自行編寫(例如mybatis plus的分頁插件配置),在多模塊項(xiàng)目中,這種模式代碼可能多個(gè)模塊都需要編寫一次,這時(shí)候,我們可以考慮自行編寫場(chǎng)景啟動(dòng)器,然后在common模塊引入即可。

          1、命名規(guī)約

          spring官方:

          spring-boot-starter-xxx

          自定義:

          xxx-spring--boot-starter


          2、自定義starter步驟


          2.1創(chuàng)建一個(gè)普通的空工程

          2.2創(chuàng)建一個(gè)普通maven項(xiàng)目


          這里我將工程命名為gulimall-spring-boot-starter

          2.3創(chuàng)建自動(dòng)配置模塊

          選擇springboot工程構(gòu)建工具:

          模塊命名為gulimall-spring-boot-autoconfigure。

          這里可以啥都不選,后面可以自行修改

          2.4修改pom文件

          starter引入autoconfigure模塊

          autoconfigure模塊,先刪除build,然后刪除spring-boot-test,再刪除test包,因?yàn)橛貌坏剑疫@里引入mybatis-plus的starter。

          2.5編寫配置類

          先刪除主啟動(dòng)類,然后新建一個(gè)配置類

          /**
          ?*?mybatis?plus分頁插件配置
          ?*?@author?wj
          ?*/
          @ConditionalOnClass(value?=?{PaginationInterceptor.class})
          @EnableTransactionManagement
          @Configuration
          public?class?MybatisPlusConfig?{
          ????@Bean
          ????public?PaginationInterceptor?paginationInterceptor(){
          ????????return?new?PaginationInterceptor();
          ????}
          }

          配置進(jìn)META-INF\spring.factories:

          #?Auto?Configure
          org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
          ??com.wj.gulimall.autoconfigure.config.MybatisPlusConfig

          這樣,項(xiàng)目在啟動(dòng)的時(shí)候,會(huì)見該自動(dòng)配置類進(jìn)行掃描。


          2.6打包到本地倉庫

          先打包autoconfigure模塊:

          雙擊install

          ?

          構(gòu)建成功后,再同樣步驟,構(gòu)建starter模塊


          3、自定義場(chǎng)景啟動(dòng)的測(cè)試

          構(gòu)建成功后,我們就可以再其他項(xiàng)目中的公用模塊引入自定義starter:

          而我寫的分頁插件配置仍然生效。

          后臺(tái)日志也打印出分頁查詢的sql

          我這里日志打印使用了p6spy,當(dāng)然p6spy的全局配置也可以寫入自定義的starter中(這里不再贅述)

          我們也可以在不要配置數(shù)據(jù)源的模塊中,直接排除mybatis-plus的依賴也不會(huì)報(bào)錯(cuò),因?yàn)槲覀冊(cè)谂渲妙惿霞由狭薂ConditionalOnClass(value = {PaginationInterceptor.class}),只有當(dāng)PaginationInterceptor.class在類路徑上存在,才實(shí)例化當(dāng)前Bean。

          ?



          粉絲福利:實(shí)戰(zhàn)springboot+CAS單點(diǎn)登錄系統(tǒng)視頻教程免費(fèi)領(lǐng)取

          ???

          ?長按上方微信二維碼?2 秒
          即可獲取資料



          感謝點(diǎn)贊支持下哈?

          瀏覽 68
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  射了好多别动哦初恋哥vs | 99这里是精品 | 免费一级毛片毛多水多 | 操欧美逼| 囯产精品无码成人久久久 |