关于报错@EnableAsync annotation metadata was not injected
Topic source那老师您教程里“AppConfig
还标注了@ComponentScan
,它告诉容器,自动搜索当前类所在的包以及子包”说@ComponentScan 的扫描范围是当前类所在的包及其子包,我不太能理解为什么会出现扫描扫到太多的问题。
我最开始是在spring-ioc-annoconfig/src/main/java目录下直接放置了AppConfig.java和service包,在AppConfig里使用了@Component,扫描到的不应该只有service包里面的文件(User、UserService、MailService)吗。
我 明白我的问题了。
我用intellj的maven的模板建了一个新项目,把appconfig。java这个放到了根目录(java底下),这样就需要指定scan的范围,或者是加basepackages这个来编译通过。
我加了一层新的package就不需要这么做了。
- 1
- 2
零度的花火
我自己实验的时候一直报错“@EnableAsync annotation metadata was not injected”,查了很久都说是@ComponentScan扫描范围的问题,最后加上了一个范围
@ComponentScan(value = “Service”),这个Service是我自己程序的一个包
具体原理我也不是太清楚,如果有人遇到相同问题可以试试。我怀疑是我之前实验的时候下载到maven本地库中的spring包被扫描到了??
也希望廖老师能指导一下。