注解方式定义的spring component打jar后,扫描失败的可能原因

来源:互联网 发布:python 数据写入excel 编辑:程序博客网 时间:2024/04/30 00:41
   情况是这样的: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扫描包的路径不对。

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

<context:component-scan base-package="cn.xjy.service"/>这个配置里,加一级目录,即没打jar包的时候是前面说的配置,如果打了jar包,就应该是
<context:component-scan base-package="main.cn.xjy.service"/>,添加了之后发现component自动注入了。    补充一句,我的工程是maven工程。

  注意:有的Eclipse会生成这个(可能会出现这个错误!出错的解决办法如上)

        

 


有的Eclipse不会生成这个文件夹,应该不会出现这个错误
          

 

 
阅读全文
0 0
原创粉丝点击