国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot啟動(dòng)忽略某些類(lèi)

這篇具有很好參考價(jià)值的文章主要介紹了springboot啟動(dòng)忽略某些類(lèi)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

描述

目前我這的開(kāi)發(fā)環(huán)境和測(cè)試環(huán)境數(shù)據(jù)庫(kù)是兩份,但是其他如kafkaredis、eureka等等之類(lèi)的,都是公用的。
這就會(huì)產(chǎn)生一個(gè)問(wèn)題,我想本地跑單元測(cè)試,但是kafka消費(fèi)到了測(cè)試環(huán)境的數(shù)據(jù),然后異常重試又發(fā)送了延遲隊(duì)列(我這里的延遲隊(duì)列是基于kafka實(shí)現(xiàn)的),然后被測(cè)試環(huán)境消費(fèi)了,然后報(bào)警群里狂刷測(cè)試環(huán)境告警。

解決方案

單拉一個(gè)提交,把所有的涉及kafka消費(fèi)的都不注入容器

這個(gè)存在一些問(wèn)題:
1、第一次工作量有點(diǎn)大,我這項(xiàng)目有近20個(gè)消費(fèi),點(diǎn)的手有點(diǎn)累
2、自測(cè)的時(shí)候得convert這個(gè)提交,好了之后再convert,麻煩而且容易忘,忘了就是事故。。

通過(guò)配置@ComponentScan的excludeFilters

配置了不生效

@Configuration
@ComponentScan(
excludeFilters = {
   @ComponentScan.Filter(type = FilterType.REGEX, pattern = {"[.a-zA-Z]+InjectService"})
})
public class DevConfig {

}

如上,單獨(dú)拉了一個(gè)配置類(lèi),指定了正則過(guò)濾,配置了正則表達(dá)式,然后,它沒(méi)起作用。報(bào)警群又刷了一遍。。
后面查了一下資料,說(shuō)是取交集。即使你這里沒(méi)有讓他掃描到,其他的@ComponentScan掃描到了還是一樣。。于是,全局搜索,果然找到了

后續(xù)處理

一些指定掃描路徑不沖突的可以忽略,像SpringfoxWebMvcConfiguration、SwaggerCommonConfiguration之類(lèi)的。我這找到兩個(gè)關(guān)聯(lián)性的,一個(gè)是啟動(dòng)類(lèi)上的包路徑掃描,另一個(gè)是基礎(chǔ)單元測(cè)試jar包上寫(xiě)死的路徑掃描。
交集,所以我得把掃描的匯總起來(lái)。單元測(cè)試的基本廢棄沒(méi)用了,直接把它排除了吧,如果要用的話(huà)只能通過(guò)復(fù)制類(lèi)改掃描范圍了。啟動(dòng)類(lèi)的話(huà),我的處理方案是轉(zhuǎn)移到后面新拉的配置類(lèi)上。

改之前

springboot啟動(dòng)忽略某些類(lèi),技巧,研究,奇奇怪怪的問(wèn)題,spring boot,后端,java
springboot啟動(dòng)忽略某些類(lèi),技巧,研究,奇奇怪怪的問(wèn)題,spring boot,后端,java

改之后

springboot啟動(dòng)忽略某些類(lèi),技巧,研究,奇奇怪怪的問(wèn)題,spring boot,后端,java
springboot啟動(dòng)忽略某些類(lèi),技巧,研究,奇奇怪怪的問(wèn)題,spring boot,后端,java

解釋

這里我讓啟動(dòng)類(lèi)掃描指定文件夾,文件夾下只有我定義的配置,然后在從這個(gè)配置上讀取新的掃描包路徑,并且過(guò)濾指定類(lèi),如此,把所有的掃描都匯總了。至于上面說(shuō)的排除類(lèi),在配置一個(gè)過(guò)濾規(guī)則就好了,我就不寫(xiě)了。本地沒(méi)用依賴(lài)那個(gè)jar包。。

總結(jié)

這種方案的完美解決了第一個(gè)的缺點(diǎn):
1、操作簡(jiǎn)單,不用在每個(gè)消費(fèi)者身上都改代碼,我的理解是功能聚合了。
2、不會(huì)出現(xiàn)事故,你第一次修改驗(yàn)證通過(guò)之后,后面可以修改.gitignore文件,把這個(gè)類(lèi)排除掉,這樣就不存在誤提交了。

注意,有個(gè)小坑哈,記得這個(gè)配置類(lèi)別和你要排除的類(lèi)放一起,不然啟動(dòng)類(lèi)的路徑還是能掃描到的。。。我這里特地拉出一個(gè)單獨(dú)的目錄給它

拆分環(huán)境

一種方案是還是公用資源,但是走不同路徑,比如配置化用不同的topic。單服務(wù)還好,多服務(wù)得一起改。而且得看情況,像我這難得搞一次單元測(cè)試興師動(dòng)眾有點(diǎn)過(guò)分了

感觸

1、封裝基礎(chǔ)包的時(shí)候,最好限定好范圍。只處理能處理的,越精確越好。
2、基礎(chǔ)包代碼最好也有git地址,可追溯修改。我這基礎(chǔ)包真就一個(gè)包了,沒(méi)法改。。
3、有可能的話(huà),各個(gè)環(huán)境隔離
4、如果有其他好的方案,歡迎評(píng)論哈。

解決實(shí)現(xiàn)demo

參考實(shí)現(xiàn)

參考

componentscan-excludefilters-not-working-in-spring-4-0-6-release文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-647688.html

到了這里,關(guān)于springboot啟動(dòng)忽略某些類(lèi)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Sourcetree軟件中添加git的.gitignore文件忽略某些文件提交

    Sourcetree軟件中添加git的.gitignore文件忽略某些文件提交

    有時(shí)候我們本地的一些文件修改或變動(dòng)不需要提交到遠(yuǎn)程git倉(cāng)庫(kù),那么就可以設(shè)置提交時(shí)忽略這些文件,比如application.properties文件、log和.history文件夾下的文件等。在Sourcetree軟件中的操作步驟如下: 在未暫存文件區(qū)域,選擇文件右鍵,然后選“忽略”一項(xiàng),彈出忽略窗口 在

    2024年02月13日
    瀏覽(87)
  • java后端返回?cái)?shù)據(jù)給前端時(shí)去除值為空或NULL的屬性、忽略某些屬性

    java后端返回?cái)?shù)據(jù)給前端時(shí)去除值為空或NULL的屬性、忽略某些屬性

    目錄 一、使用場(chǎng)景 二、環(huán)境準(zhǔn)備 1、引入依賴(lài) 2、實(shí)體類(lèi) 三、示例 1、不返回空值 (1)方式 (2)測(cè)試 (3)說(shuō)明 2、不返回部分屬性 (1)方式 (2)測(cè)試 四、?Jackson常用注解 1、 @JsonProperty 2、@JsonPropertyOrder 3、@JsonInclude 4、@JsonIgnoreProperties 5、@JsonFormat 6、@JsonUnwrapped ????????在開(kāi)發(fā)過(guò)程

    2024年02月04日
    瀏覽(24)
  • SpringBoot開(kāi)發(fā)小技巧使用(DEBUG、啟動(dòng)圖標(biāo)修改、Lombok、devtools、Spring Initializr)

    SpringBoot開(kāi)發(fā)小技巧使用(DEBUG、啟動(dòng)圖標(biāo)修改、Lombok、devtools、Spring Initializr)

    在resources/application.properties中添加如下,開(kāi)啟DEBUG功能: 然后啟動(dòng)springboot應(yīng)用,就可以看到DEBUG的日志。Positive表示生效,Negative表示不生效。如下所示: 下載百度的logo到resouces目錄下,然后在resources/application.properties添加如下內(nèi)容: 最后啟動(dòng)springboot應(yīng)用。打印的日志如下,

    2024年02月15日
    瀏覽(17)
  • 【前端技巧】ESLint忽略檢查行和文件

    @Author:Outman @Date:2023-03-10 一、注釋方式 1.注釋忽略 —— 塊注釋 2.注釋忽略 —— 忽略指定規(guī)則項(xiàng) 3.注釋忽略 —— 忽略整個(gè)文件 4.注釋忽略 —— 忽略整個(gè)文件中指定規(guī)則項(xiàng) 5.注釋忽略 —— 忽略當(dāng)前行 6.注釋忽略 —— 忽略當(dāng)前行中指定規(guī)則項(xiàng)(多個(gè)規(guī)則項(xiàng)用逗號(hào)隔開(kāi))

    2024年02月16日
    瀏覽(17)
  • springboot排除某些自動(dòng)配置

    目錄 前言 使用@SpringBootApplicationexclude時(shí)候 使用@EnableAutoConfiguration注解時(shí) ?在配置文件中指定參數(shù)spring.autoconfigure.exclude 進(jìn)行排除 前言 Spring Boot 提供的自動(dòng)配置非常強(qiáng)大,某些情況下,自動(dòng)配置的功能可能不符合我們的需求,需要我們自定義配置,這個(gè)時(shí)候就需要排除/禁用

    2024年02月13日
    瀏覽(11)
  • 你的設(shè)備遇到問(wèn)題,需要重啟;我們只收集某些錯(cuò)誤信息,然后為你重新啟動(dòng)。

    你的設(shè)備遇到問(wèn)題,需要重啟;我們只收集某些錯(cuò)誤信息,然后為你重新啟動(dòng)。

    VMware安裝centos和打開(kāi)其他虛擬機(jī)時(shí)電腦藍(lán)屏報(bào)錯(cuò): 你的設(shè)備遇到問(wèn)題,需要重啟;我們只收集某些錯(cuò)誤信息,然后為你重新啟動(dòng)。 我的解決辦法:開(kāi)啟Windows的虛擬機(jī)平臺(tái) 打開(kāi)控制面板,點(diǎn)擊“程序”,點(diǎn)擊“啟用或關(guān)閉windows功能”,勾選“虛擬機(jī)平臺(tái)”

    2024年02月11日
    瀏覽(31)
  • SpringBoot - MyBatis-Plus - 如何在查詢(xún)時(shí)排除某些字段?

    寫(xiě)在前面 查詢(xún)時(shí)部分字段不想給前端顯示,怎么辦? (1)使用SELECT方法,排除字段\\\"password\\\" (2)使用SELECT方法,只顯示某些字段 (3)使用@TableField(exist = false),排除某些字段 注:表示當(dāng)前屬性不是數(shù)據(jù)庫(kù)的字段,但在項(xiàng)目中必須使用,這樣的話(huà)在新增/查詢(xún)等使用BEAN時(shí),

    2024年02月12日
    瀏覽(16)
  • 【問(wèn)題】本地計(jì)算機(jī)上的MySQL服務(wù)啟動(dòng)后停止。某些服務(wù)在未有其他服務(wù)或程序使用時(shí)將自動(dòng)停止。

    【問(wèn)題】本地計(jì)算機(jī)上的MySQL服務(wù)啟動(dòng)后停止。某些服務(wù)在未有其他服務(wù)或程序使用時(shí)將自動(dòng)停止。

    在服務(wù)中啟動(dòng)數(shù)據(jù)庫(kù)時(shí),發(fā)生如上錯(cuò)誤。借鑒網(wǎng)友的經(jīng)驗(yàn)。 ??!數(shù)據(jù)會(huì)全部消失, 操作之前一定保存好數(shù)據(jù) ?? 1.將data文件夾內(nèi)的內(nèi)容全部刪除,在bin文件夾下打開(kāi)命令行,輸入mysqld --initialize。 2.等待一段時(shí)間后輸入net start mysql重新啟動(dòng)該服務(wù) 但發(fā)生如下錯(cuò)誤。無(wú)法重新啟

    2024年02月11日
    瀏覽(22)
  • 啟動(dòng)MySQL服務(wù)時(shí)出現(xiàn)"mysql本地計(jì)算機(jī)上的MySQL服務(wù)啟動(dòng)后停止。某些在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止"的問(wèn)題解決

    啟動(dòng)MySQL服務(wù)時(shí)出現(xiàn)"mysql本地計(jì)算機(jī)上的MySQL服務(wù)啟動(dòng)后停止。某些在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止"的問(wèn)題解決

    某一天我的MySQL啟動(dòng)突然出現(xiàn)了異常:“mysql本地計(jì)算機(jī)上的MySQL服務(wù)啟動(dòng)后停止。某些在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止。” ,小編在網(wǎng)絡(luò)上面找了很多方法,MySQL啟動(dòng)成功了,但是第二天開(kāi)啟MySQL時(shí)還是出現(xiàn)了這個(gè)問(wèn)題,現(xiàn)把兩種方法總結(jié)一下: 第一個(gè)方法: 1.找到

    2024年02月04日
    瀏覽(20)
  • 解決“本地計(jì)算機(jī)上的 mysql 服務(wù)啟動(dòng)后停止,某些服務(wù)在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止”

    解決“本地計(jì)算機(jī)上的 mysql 服務(wù)啟動(dòng)后停止,某些服務(wù)在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止”

    在一次修改配置文件時(shí)重啟數(shù)據(jù)庫(kù)報(bào)錯(cuò) 之前都能正常重啟,改了my.ini之后就重啟報(bào)錯(cuò) 在重啟之前增加了這個(gè) 注釋掉之后就可以正常重啟了。這個(gè)辦法因人而異。 1、先打開(kāi)數(shù)據(jù)庫(kù)根目錄,將data文件夾下的文件備份。 2、清空data文件夾中的文件,保留data文件夾。 3、初始化數(shù)

    2023年04月10日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包