Spring整合SpringMVC时避免Spring加载两次bean的配置方法

举报
牛哄哄的柯南 发表于 2021/05/26 00:41:35 2021/05/26
【摘要】 避免Spring加载两次bean的配置方法 写在前面的话解决办法 写在前面的话       当Spring整合SpringMVC时,SpringMVC的springmvc.xml配置文件和Spring的bean.xml配置文件在我们单独使用时,都是直接扫描整个包,但是整合到一起的时候,两个配置文...

避免Spring加载两次bean的配置方法

写在前面的话

      当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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。