缺少bean定义

1. 问题描述
...
Error creating bean with name 'A': Injection of resource fields failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [IA] is defined: Unsatisfied dependency of type [interface IA]: expected at least 1 matching bean
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessAfterInstantiation(CommonAnnotationBeanPostProcessor.java:292)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:959)

本地环境和测试环境部署都没问题,发到线上预发环境启动报错,看异常是因为没有找到bean的定义,但是由于只有预发环境才这样,所以没怀疑bean的定义,再加上之前操作了一些spring依赖的东西,所以只觉得可能是spring的依赖问题。导致2个小时没有找到原因。后来同事提醒是不是配置文件的问题,有没有配置文件在线上不一样。突然想起,线上不同机房的spring配置不一样。。。恍然大悟。。。

2. 问题解决
因为当前代码是只适应机房A的配置,如果想在机房B做预发,需要修改配置文件。这样看来,确实跟异常反映的原因一样,就是没有bean的配置。想当然的经验害人啊。

更多此类问题可参考: http://blog.csdn.net/free4294/article/details/38706569

你可能感兴趣的:( 缺少bean定义)