springmvc 注解扫描失败的可能原因

时间:2021-09-30 07:53:54

情况是这样的:web工程采用了ssm框架,dao和service都是通过annotation方式注入的,工程运行正常。后来把service和dao打成jar放在工程的lib目录下,问题来了,配置没改动,结果就是不能自动注入dao和service。但是如果把dao和service在spring配置文件中通过xml文件配置,这些component能找到。

搜索了一把,发现这个问题比较常见,大部分帖子说的是在打jar包的时候add entity directory,仔细看了下,我的jar包是通过maven打包的,entity directory都在,所以我的问题不是这个。那问题就可能是spring context扫描包的路径不对。

几经周折,发现*上有人说需要在

<context:component-scan base-package="cn.xjy.service"/>这个配置里,加一级目录,即没打jar包的时候是前面说的配置,如果打了jar包,就应该是
<context:component-scan base-package="main.cn.xjy.service"/>,添加了之后发现component自动注入了。
    补充一句,我的工程是maven工程。   注意:有的Eclipse会生成这个(可能会出现这个错误!出错的解决办法如上)         springmvc 注解扫描失败的可能原因

有的Eclipse不会生成这个文件夹,应该不会出现这个错误
          springmvc 注解扫描失败的可能原因