SpringBoot調(diào)用公共模塊的自定義注解失效的解決
調(diào)用公共模塊的自定義注解失效
項(xiàng)目結(jié)構(gòu)如下

我在 bi-common 公共模塊里定義了一個(gè)自定義注解,實(shí)現(xiàn)AOP記錄日志,bi-batch 項(xiàng)目已引用了 bi-common ,當(dāng)在 bi-batch 使用注解的時(shí)候,沒有報(bào)錯(cuò),但是切面卻失效。
自定義注解:
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface JobLog {
}
切面實(shí)現(xiàn):
/**
* 執(zhí)行任務(wù)時(shí)記錄日志
*/
@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()+"方法運(yùn)行后。。。@After");
}
}
注解使用:
/**
* 這里使用了自定義注解,卻失效,但是沒報(bào)錯(cuò)
*/
@JobLog
public Job createEsJob(String jobName) {
return jobBuilderFactory.get(jobName)
.start(esLogJobStep.step())
.build();
}
解決方法
原因:
其他工程沒有掃描公共模塊的包,沒有掃描到注解的位置。
解決方法1:
在啟動(dòng)類加上公共模塊的包路徑,注意別忘記把原項(xiàng)目的包路徑也加上
@SpringBootApplication(scanBasePackages = {
"aoshu.bi.platform.batch",
"aoshu.bi.platform.common"
})
解決方法2:
在配置類里導(dǎo)入該切面實(shí)現(xiàn)
@Import({
aoshu.bi.platform.common.aspect.JobLogAspect.class
})
@Configuration
public class BatchConfigure {
}
SpringBoot注解不生效,踩坑
子模塊的項(xiàng)目,注解都不生效,包括@RestController @EnableScheduling @Scheduled等;
解決方法
在子項(xiàng)目右鍵,clean install,會(huì)發(fā)現(xiàn)報(bào)錯(cuò)了,解決完問題以后就可以了。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Java分布式架構(gòu)下如何實(shí)現(xiàn)分布式鎖
這篇文章主要介紹了淺談Java分布式架構(gòu)下如何實(shí)現(xiàn)分布式鎖,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
IDEA?Debug過程中使用Drop?Frame或Reset?Frame實(shí)現(xiàn)操作回退的方法
在IDEA中就提供了一個(gè)幫助你回退代碼的機(jī)會(huì),但這個(gè)方法并不是萬能的,好了,下面就來具體說說IDEA?Debug過程中使用Drop?Frame或Reset?Frame實(shí)現(xiàn)操作回退的方法,感興趣的朋友一起看看吧2022-04-04
一文詳細(xì)springboot實(shí)現(xiàn)MySQL數(shù)據(jù)庫的整合步驟
Spring Boot可以很方便地與MySQL數(shù)據(jù)庫進(jìn)行整合,下面這篇文章主要給大家介紹了關(guān)于springboot實(shí)現(xiàn)MySQL數(shù)據(jù)庫的整合步驟,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03
Spring Boot使用JSR-380進(jìn)行校驗(yàn)的示例
這篇文章主要介紹了Spring Boot使用JSR-380進(jìn)行校驗(yàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Java解析Excel文件并把數(shù)據(jù)存入數(shù)據(jù)庫
本篇文章主要介紹了Java解析Excel文件并把數(shù)據(jù)存入數(shù)據(jù)庫 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
spring boot 統(tǒng)一JSON格式的接口返回結(jié)果的實(shí)現(xiàn)
這篇文章主要介紹了spring boot 統(tǒng)一JSON格式的接口返回結(jié)果的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Springboot?配置線程池創(chuàng)建線程及配置?@Async?異步操作線程池詳解
這篇文章主要介紹了Springboot?配置線程池創(chuàng)建線程及配置?@Async?異步操作線程池詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09

