{"id":"5b6b2b38ffa3202a","repo":"spring-projects/spring-framework","slug":"resolution-of-declared-constructors-on-bean-class","errorCode":null,"errorMessage":"Resolution of declared constructors on bean Class [${beanClass.getName()}] from ClassLoader [${beanClass.getClassLoader()}] failed","messagePattern":"Resolution of declared constructors on bean Class \\[(.+?)\\] from ClassLoader \\[(.+?)\\] failed","errorType":"exception","errorClass":"BeanCreationException","httpStatus":null,"severity":"error","filePath":"spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java","lineNumber":366,"sourceCode":"\t@Override\n\tpublic Constructor<?> @Nullable [] determineCandidateConstructors(Class<?> beanClass, final String beanName)\n\t\t\tthrows BeanCreationException {\n\n\t\tcheckLookupMethods(beanClass, beanName);\n\n\t\t// Quick check on the concurrent map first, with minimal locking.\n\t\tConstructor<?>[] candidateConstructors = this.candidateConstructorsCache.get(beanClass);\n\t\tif (candidateConstructors == null) {\n\t\t\t// Fully synchronized resolution now...\n\t\t\tsynchronized (this.candidateConstructorsCache) {\n\t\t\t\tcandidateConstructors = this.candidateConstructorsCache.get(beanClass);\n\t\t\t\tif (candidateConstructors == null) {\n\t\t\t\t\tConstructor<?>[] rawCandidates;\n\t\t\t\t\ttry {\n\t\t\t\t\t\trawCandidates = beanClass.getDeclaredConstructors();\n\t\t\t\t\t}\n\t\t\t\t\tcatch (Throwable ex) {\n\t\t\t\t\t\tthrow new BeanCreationException(beanName,\n\t\t\t\t\t\t\t\t\"Resolution of declared constructors on bean Class [\" + beanClass.getName() +\n\t\t\t\t\t\t\t\t\"] from ClassLoader [\" + beanClass.getClassLoader() + \"] failed\", ex);\n\t\t\t\t\t}\n\t\t\t\t\tList<Constructor<?>> candidates = new ArrayList<>(rawCandidates.length);\n\t\t\t\t\tConstructor<?> requiredConstructor = null;\n\t\t\t\t\tConstructor<?> defaultConstructor = null;\n\t\t\t\t\tConstructor<?> primaryConstructor = BeanUtils.findPrimaryConstructor(beanClass);\n\t\t\t\t\tint nonSyntheticConstructors = 0;\n\t\t\t\t\tfor (Constructor<?> candidate : rawCandidates) {\n\t\t\t\t\t\tif (!candidate.isSynthetic()) {\n\t\t\t\t\t\t\tnonSyntheticConstructors++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (primaryConstructor != null) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tMergedAnnotation<?> ann = findAutowiredAnnotation(candidate);\n\t\t\t\t\t\tif (ann == null) {\n\t\t\t\t\t\t\tClass<?> userClass = ClassUtils.getUserClass(beanClass);","sourceCodeStart":348,"sourceCodeEnd":384,"githubUrl":"https://github.com/spring-projects/spring-framework/blob/e8729d043887bf0d0baf91e062e909b56eb2b708/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java#L348-L384","documentation":"Error \"Resolution of declared constructors on bean Class [${beanClass.getName()}] from ClassLoader [${beanClass.getClassLoader()}] failed\" thrown in spring-projects/spring-framework.","triggerScenarios":"Thrown at spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java:366 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"e8729d043887bf0d0baf91e062e909b56eb2b708","analyzedAt":"2026-08-04T19:07:39.725Z","schemaVersion":2}