我正在尝试将Spring Boot项目从1.5.x升级到2.1.3 一切都是经过编译的文件,但是会给运行时带来异常
org.springframework.beans.factory.UnsatisfiedDependencyException:创建名称为“ ldapConfig”的bean时出错:通过字段“ ldapParams”表示的依赖关系未满足;嵌套的异常是org.springframework.beans.factory.BeanCreationException:创建名称为“ ldapParams”的bean时出错:自动连接依赖项的注入失败;嵌套的异常是java.lang.StackOverflowError 在org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)处 在org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) 在org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)处 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1395) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
答案 0 :(得分:0)
ldapConfig
或ldapParams
bean所需要的依赖豆中最有可能具有原型范围和循环依赖关系(例如ldapConfig
需要ldapParams
但{{1 }}需要ldapParams
)。这将导致递归创建新bean,直到抛出ldapConfig
为止。
查看您的LDAP bean并删除循环依赖性和原型范围(如果不需要)。