Spring整合SpringMVC时避免Spring加载两次bean的配置方法
【摘要】
避免Spring加载两次bean的配置方法
写在前面的话解决办法
写在前面的话
当Spring整合SpringMVC时,SpringMVC的springmvc.xml配置文件和Spring的bean.xml配置文件在我们单独使用时,都是直接扫描整个包,但是整合到一起的时候,两个配置文...
写在前面的话
当Spring整合SpringMVC时,SpringMVC的springmvc.xml配置文件和Spring的bean.xml配置文件在我们单独使用时,都是直接扫描整个包,但是整合到一起的时候,两个配置文件都同时扫描,就会加载两次bean,会造成很多奇怪的错误。
例如:【No qualifying bean of type ‘org.springframework.jdbc.core.JdbcTemplate’ available: expected at least 1 bean which qualifies as autowire candidate】
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productDaoImpl': Unsatisfied dependency expressed through field 'jdbcTemplate'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.jdbc.core.JdbcTemplate' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130)
- 1
- 2
- 3
解决办法:springmvc.xml中只扫描controller,Spring的bean.xml中排除controller,其他的都扫描。
解决办法
springmvc.xml:
<!-- 只扫描Controller -->
<context:component-scan base-package="com.keafmd.controller" use-default-filters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
- 1
- 2
- 3
- 4
bean.xml:
<!-- 排除controller,其他的都扫描-->
<context:component-scan base-package="com.keafmd"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
- 1
- 2
- 3
- 4
以上就是Spring整合SpringMVC时避免Spring加载两次bean的配置方法的全部内容。
看完如果对你有帮助,感谢点赞支持!
如果你是电脑端的话,看到右下角的 “一键三连” 了吗,没错点它[哈哈]
加油!
共同努力!
Keafmd
文章来源: keafmd.blog.csdn.net,作者:牛哄哄的柯南,版权归原作者所有,如需转载,请联系作者。
原文链接:keafmd.blog.csdn.net/article/details/114853138
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)