Sam Brannen
964d67474c
Merge branch '6.2.x'
2025-05-06 16:08:20 +02:00
Sam Brannen
bc466022b1
Fix typo in parameter name
2025-05-06 16:07:46 +02:00
Juergen Hoeller
f2dd7b01cd
Consistent final @Nullable declarations
2025-04-22 12:25:01 +02:00
Juergen Hoeller
78f901649e
Merge branch '6.2.x'
...
# Conflicts:
# spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java
2025-04-22 12:18:44 +02:00
Juergen Hoeller
1841ad3472
Consistently use local copy of volatile mainThreadPrefix field
...
Closes gh-34746
2025-04-22 12:17:03 +02:00
Seonghun Jeong
d3a5aefdff
Improve handling of `mainThreadPrefix` and remove redundant null check ( #34746 )
2025-04-22 12:16:34 +02:00
Stéphane Nicoll
e3e99ac8a0
Add a convenience method to create a ValueCodeGenerator
...
This commit makes BeanDefinitionPropertyValueCodeGeneratorDelegates
public and offer a convenience method to create a ValueCodeGenerator
that works will all core delegates.
Closes gh-34761
2025-04-15 17:17:45 +02:00
Sam Brannen
d5baab2aed
Merge branch '6.2.x'
2025-04-14 14:16:31 +02:00
Sam Brannen
d0966dfb58
Revise contribution
...
See gh-34747
2025-04-14 14:15:50 +02:00
lituizi
bb45a3ae69
Update AbstractAutowireCapableBeanFactory.ignoreDependencyInterface() Javadoc
...
Specifically, the documentation update reflects that:
- Initially, it was mentioned that only the `BeanFactoryAware`
interface is ignored by default.
- The updated documentation now correctly states that `BeanNameAware`,
`BeanFactoryAware`, and `BeanClassLoaderAware` interfaces are all
ignored by default.
This change ensures a more accurate representation of the default
behavior regarding which dependency interfaces are automatically
ignored during autowiring in the context of Spring's bean factory
mechanism.
Closes gh-34747
Signed-off-by: lituizi <2811328244@qq.com>
2025-04-14 14:07:35 +02:00
Sam Brannen
23aea5c402
Merge branch '6.2.x'
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
2025-04-14 11:32:48 +02:00
Sam Brannen
a22d204681
Remove duplicate words in Java source code
...
Discovered using regular expression: \b(\w+)\s+\1\b[^(}]
2025-04-14 11:24:55 +02:00
Juergen Hoeller
6ade8c5a41
Merge branch '6.2.x'
...
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Has been cancelled
Details
Deploy Docs / Dispatch docs deployment (push) Has been cancelled
Details
Build and Deploy Snapshot / Verify (push) Has been cancelled
Details
# Conflicts:
# spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java
2025-04-12 06:02:42 +02:00
Juergen Hoeller
c4f66b776f
Use single volatile field for indicating pre-instantiation phase
...
Backport Bot / build (push) Has been cancelled
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Has been cancelled
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Has been cancelled
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Has been cancelled
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Has been cancelled
Details
Deploy Docs / Dispatch docs deployment (push) Has been cancelled
Details
Build and Deploy Snapshot / Verify (push) Has been cancelled
Details
See gh-34729
2025-04-12 06:00:18 +02:00
Juergen Hoeller
7bb7456686
Merge branch '6.2.x'
...
# Conflicts:
# spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java
# spring-jdbc/src/main/java/org/springframework/jdbc/core/StatementCreatorUtils.java
2025-04-10 18:37:07 +02:00
Juergen Hoeller
6ea9f66fd7
Remove superfluous DefaultParameterNameDiscoverer configuration
Backport Bot / build (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
2025-04-10 18:33:39 +02:00
Juergen Hoeller
eea6addd26
Avoid lenient locking for additional external bootstrap threads
...
Includes spring.locking.strict revision to differentiate between true, false, not set.
Includes checkFlag accessor on SpringProperties, also used in StatementCreatorUtils.
Closes gh-34729
See gh-34303
2025-04-10 18:33:21 +02:00
Juergen Hoeller
8bc99fa662
Merge branch '6.2.x'
2025-04-07 22:42:52 +02:00
Juergen Hoeller
74ab5e4e25
Enforce circular reference exception between more than two threads as well
...
See gh-34672
2025-04-07 22:37:19 +02:00
Juergen Hoeller
4283a34fa4
Merge branch '6.2.x'
2025-04-07 17:09:36 +02:00
Juergen Hoeller
463541967a
Enforce circular reference exception between all thread variations
...
Backport Bot / build (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
Closes gh-34672
2025-04-07 17:08:47 +02:00
Sam Brannen
5b4511fbf7
Merge branch '6.2.x'
2025-04-04 15:54:29 +02:00
Sam Brannen
dbd47ff4f9
Implement additional micro performance optimizations
...
Backport Bot / build (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
See gh-34717
2025-04-04 15:51:37 +02:00
Sam Brannen
381bc4c405
Polish contribution
...
See gh-34717
2025-04-04 15:29:10 +02:00
Olivier Bourgain
0f2308e85f
Implement micro performance optimizations
...
- ClassUtils.isAssignable(): Avoid Map lookup when the type is not a
primitive.
- AnnotationsScanner: Perform low cost array length check before String
comparisons.
- BeanFactoryUtils: Use char comparison instead of String comparison.
The bean factory prefix is '&', so we can use a char comparison
instead of more heavyweight String.startsWith("&").
- AbstractBeanFactory.getMergedBeanDefinition(): Perform the low cost
check first. Map lookup, while cheap, is still more expensive than
instanceof.
Closes gh-34717
Signed-off-by: Olivier Bourgain <olivierbourgain02@gmail.com>
2025-04-04 14:34:55 +02:00
Juergen Hoeller
18989123ac
Merge branch '6.2.x'
2025-04-03 12:04:38 +02:00
Juergen Hoeller
e7db15b325
Perform type check before singleton check for early FactoryBean matching
...
Backport Bot / build (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
Closes gh-34710
2025-04-03 11:59:22 +02:00
Juergen Hoeller
5e2c16c30c
Merge branch '6.2.x'
...
# Conflicts:
# spring-beans/src/main/java/org/springframework/beans/factory/support/CglibSubclassingInstantiationStrategy.java
2025-04-01 22:21:56 +02:00
Juergen Hoeller
203ca30a64
Include cause in MethodInvocationException message
...
Closes gh-34691
2025-04-01 22:12:17 +02:00
Juergen Hoeller
34ea0461c7
Polishing
2025-04-01 22:12:09 +02:00
Juergen Hoeller
a122dda596
Merge branch '6.2.x'
2025-03-31 16:42:29 +02:00
Juergen Hoeller
743f32675d
Only attempt load for CGLIB classes in AOT mode
...
Closes gh-34677
2025-03-31 16:39:18 +02:00
Juergen Hoeller
3ddc607b3e
Add spring.locking.strict property to common appendix
...
See gh-34303
2025-03-31 16:38:28 +02:00
Juergen Hoeller
ac7c7ff5b2
Merge branch '6.2.x'
...
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
# Conflicts:
# spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java
2025-03-28 20:47:57 +01:00
Juergen Hoeller
75e5a75da5
Enforce circular reference exception within non-managed thread
...
Backport Bot / build (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
Closes gh-34672
2025-03-28 20:46:09 +01:00
Juergen Hoeller
9bf01df230
Evaluate lenientLockingAllowed flag per DefaultListableBeanFactory instance
...
See gh-34303
2025-03-28 20:45:06 +01:00
Stéphane Nicoll
7ab108a321
Merge branch '6.2.x'
2025-03-27 12:12:54 +01:00
Stéphane Nicoll
2862c87601
Make sure the generated values are available from a static context
...
This commit updates the tests of property values code generated to
invoke the generated code from a `static` context. This ensures that
the test fails if that's not the case.
This commit also updated LinkedHashMap handling that did suffer from
that problem.
Closes gh-34659
2025-03-27 12:06:18 +01:00
Juergen Hoeller
f55ca3058b
Merge branch '6.2.x'
...
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
# Conflicts:
# spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java
2025-03-26 23:49:54 +01:00
Juergen Hoeller
aa56b5001a
Detect late-set primary markers for autowiring shortcut algorithm
...
Backport Bot / build (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
Closes gh-34658
2025-03-26 23:47:42 +01:00
Juergen Hoeller
3872c1a762
Merge branch '6.2.x'
...
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
# Conflicts:
# spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java
# spring-jms/src/main/java/org/springframework/jms/config/AbstractJmsListenerContainerFactory.java
# spring-jms/src/main/java/org/springframework/jms/listener/AbstractMessageListenerContainer.java
2025-03-25 17:13:02 +01:00
Juergen Hoeller
6905dff660
Introduce spring.locking.strict=true flag for 6.1.x style bean creation locking
...
Closes gh-34303
2025-03-25 17:08:55 +01:00
Brian Clozel
fb423d66e3
Add ClassFile variant for class metadata reading
...
Prior to this commit, Spring Framework would use its own ASM fork to
read class/method/annotation metadata from bytecode. This is typically
used in configuration class parsing to build bean definitions without
actually loading classes at runtime at that step.
This commit adds support for a new metadata reading implementation that
uses the ClassFile API available as of Java 24. For now, this is turned
on by default for Java 24+.
Closes gh-33616
2025-03-25 15:33:53 +01:00
Juergen Hoeller
7d0cc6c83a
Merge branch '6.2.x'
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
2025-03-25 00:11:30 +01:00
Juergen Hoeller
37fb79e8ff
Fix qualifier resolution for aliased name against parent factory
...
Backport Bot / build (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
Closes gh-34644
2025-03-25 00:08:42 +01:00
Juergen Hoeller
58246ec5ec
Merge branch '6.2.x'
2025-03-21 15:54:43 +01:00
Juergen Hoeller
dc41ff569e
Add javadoc notes on potential exception suppression in getBeansOfType
...
Closes gh-34629
2025-03-21 15:52:42 +01:00
Sébastien Deleuze
5ce64f47b2
Add support for ImportAware in BeanRegistrar
...
Closes gh-34627
2025-03-21 11:49:15 +01:00
Juergen Hoeller
47651350f3
Polishing
Backport Bot / build (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:ubuntu-latest name:Linux]) (push) Waiting to run
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
2025-03-21 10:58:40 +01:00
Sam Brannen
6505c4b839
Refine use of isArray() and componentType()
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
Deploy Docs / Dispatch docs deployment (push) Waiting to run
Details
2025-03-20 17:28:37 +01:00