首页 > 代码库 > 注解方式定义的spring component打jar后,扫描失败的可能原因
注解方式定义的spring component打jar后,扫描失败的可能原因
情况是这样的:web工程采用了ssh框架,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="tr"/>这个配置里,加一级目录,即没打jar包的时候是前面说的配置,如果打了jar包,就应该是
<context:component-scan base-package="main.tr"/>,添加了之后发现component自动注入了。 补充一句,我的工程是maven工程。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。