SpringBoot調(diào)用公共模塊的自定義注解失效的解決
調(diào)用公共模塊的自定義注解失效
項目結(jié)構(gòu)如下
我在 bi-common 公共模塊里定義了一個自定義注解,實現(xiàn)AOP記錄日志,bi-batch 項目已引用了 bi-common ,當(dāng)在 bi-batch 使用注解的時候,沒有報錯,但是切面卻失效。
自定義注解:
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface JobLog { }
切面實現(xiàn):
/** * 執(zhí)行任務(wù)時記錄日志 */ @Aspect @Component @Order(1) @Slf4j public class JobLogAspect { @Pointcut("@annotation(aoshu.bi.platform.common.annotation.JobLog)") public void pointcut() { } @Before("pointcut()") public void logStart(JoinPoint joinPoint) { log.info("開始執(zhí)行" + joinPoint.getSignature().getName() + "任務(wù),參數(shù)為:" + Arrays.toString(joinPoint.getArgs())); } @After("pointcut()") public void logEnd(JoinPoint joinPoint){ log.info(""+joinPoint.getSignature().getName()+"方法運行后。。。@After"); } }
注解使用:
/** * 這里使用了自定義注解,卻失效,但是沒報錯 */ @JobLog public Job createEsJob(String jobName) { return jobBuilderFactory.get(jobName) .start(esLogJobStep.step()) .build(); }
解決方法
原因:
其他工程沒有掃描公共模塊的包,沒有掃描到注解的位置。
解決方法1:
在啟動類加上公共模塊的包路徑,注意別忘記把原項目的包路徑也加上
@SpringBootApplication(scanBasePackages = { "aoshu.bi.platform.batch", "aoshu.bi.platform.common" })
解決方法2:
在配置類里導(dǎo)入該切面實現(xiàn)
@Import({ aoshu.bi.platform.common.aspect.JobLogAspect.class }) @Configuration public class BatchConfigure { }
SpringBoot注解不生效,踩坑
子模塊的項目,注解都不生效,包括@RestController @EnableScheduling @Scheduled等;
解決方法
在子項目右鍵,clean install,會發(fā)現(xiàn)報錯了,解決完問題以后就可以了。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Java分布式架構(gòu)下如何實現(xiàn)分布式鎖
這篇文章主要介紹了淺談Java分布式架構(gòu)下如何實現(xiàn)分布式鎖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07IDEA?Debug過程中使用Drop?Frame或Reset?Frame實現(xiàn)操作回退的方法
在IDEA中就提供了一個幫助你回退代碼的機會,但這個方法并不是萬能的,好了,下面就來具體說說IDEA?Debug過程中使用Drop?Frame或Reset?Frame實現(xiàn)操作回退的方法,感興趣的朋友一起看看吧2022-04-04一文詳細(xì)springboot實現(xiàn)MySQL數(shù)據(jù)庫的整合步驟
Spring Boot可以很方便地與MySQL數(shù)據(jù)庫進(jìn)行整合,下面這篇文章主要給大家介紹了關(guān)于springboot實現(xiàn)MySQL數(shù)據(jù)庫的整合步驟,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03Spring Boot使用JSR-380進(jìn)行校驗的示例
這篇文章主要介紹了Spring Boot使用JSR-380進(jìn)行校驗,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03Java解析Excel文件并把數(shù)據(jù)存入數(shù)據(jù)庫
本篇文章主要介紹了Java解析Excel文件并把數(shù)據(jù)存入數(shù)據(jù)庫 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05spring boot 統(tǒng)一JSON格式的接口返回結(jié)果的實現(xiàn)
這篇文章主要介紹了spring boot 統(tǒng)一JSON格式的接口返回結(jié)果的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Springboot?配置線程池創(chuàng)建線程及配置?@Async?異步操作線程池詳解
這篇文章主要介紹了Springboot?配置線程池創(chuàng)建線程及配置?@Async?異步操作線程池詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09