|
|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2002-2023 the original author or authors. |
|
|
|
* Copyright 2002-2024 the original author or authors. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
@ -123,16 +123,16 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto |
|
|
|
implements ConfigurableListableBeanFactory, BeanDefinitionRegistry, Serializable { |
|
|
|
implements ConfigurableListableBeanFactory, BeanDefinitionRegistry, Serializable { |
|
|
|
|
|
|
|
|
|
|
|
@Nullable |
|
|
|
@Nullable |
|
|
|
private static Class<?> javaxInjectProviderClass; |
|
|
|
private static Class<?> jakartaInjectProviderClass; |
|
|
|
|
|
|
|
|
|
|
|
static { |
|
|
|
static { |
|
|
|
try { |
|
|
|
try { |
|
|
|
javaxInjectProviderClass = |
|
|
|
jakartaInjectProviderClass = |
|
|
|
ClassUtils.forName("jakarta.inject.Provider", DefaultListableBeanFactory.class.getClassLoader()); |
|
|
|
ClassUtils.forName("jakarta.inject.Provider", DefaultListableBeanFactory.class.getClassLoader()); |
|
|
|
} |
|
|
|
} |
|
|
|
catch (ClassNotFoundException ex) { |
|
|
|
catch (ClassNotFoundException ex) { |
|
|
|
// JSR-330 API not available - Provider interface simply not supported then.
|
|
|
|
// JSR-330 API not available - Provider interface simply not supported then.
|
|
|
|
javaxInjectProviderClass = null; |
|
|
|
jakartaInjectProviderClass = null; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -1340,7 +1340,7 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto |
|
|
|
ObjectProvider.class == descriptor.getDependencyType()) { |
|
|
|
ObjectProvider.class == descriptor.getDependencyType()) { |
|
|
|
return new DependencyObjectProvider(descriptor, requestingBeanName); |
|
|
|
return new DependencyObjectProvider(descriptor, requestingBeanName); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (javaxInjectProviderClass == descriptor.getDependencyType()) { |
|
|
|
else if (jakartaInjectProviderClass == descriptor.getDependencyType()) { |
|
|
|
return new Jsr330Factory().createDependencyProvider(descriptor, requestingBeanName); |
|
|
|
return new Jsr330Factory().createDependencyProvider(descriptor, requestingBeanName); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (descriptor.supportsLazyResolution()) { |
|
|
|
else if (descriptor.supportsLazyResolution()) { |
|
|
|
|