From 8fe1de45953c1f8ab1d88303ac6f6055d68b835e Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 13 May 2026 19:46:07 +0200 Subject: [PATCH] Polishing --- .../beans/factory/aot/AotBeanProcessingException.java | 2 ++ .../annotation/CommonAnnotationBeanPostProcessor.java | 7 ++----- .../PersistenceAnnotationBeanPostProcessor.java | 11 ++++------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/AotBeanProcessingException.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AotBeanProcessingException.java index 3712da4f5e3..16267041b9f 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/AotBeanProcessingException.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AotBeanProcessingException.java @@ -32,6 +32,7 @@ public class AotBeanProcessingException extends AotProcessingException { private final RootBeanDefinition beanDefinition; + /** * Create an instance with the {@link RegisteredBean} that fails to be * processed, a detail message, and an optional root cause. @@ -65,6 +66,7 @@ public class AotBeanProcessingException extends AotProcessingException { return sb.toString(); } + /** * Return the bean definition of the bean that failed to be processed. */ diff --git a/spring-context/src/main/java/org/springframework/context/annotation/CommonAnnotationBeanPostProcessor.java b/spring-context/src/main/java/org/springframework/context/annotation/CommonAnnotationBeanPostProcessor.java index b36de992d5b..a91b85caf68 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/CommonAnnotationBeanPostProcessor.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/CommonAnnotationBeanPostProcessor.java @@ -783,16 +783,13 @@ public class CommonAnnotationBeanPostProcessor extends InitDestroyAnnotationBean }); GeneratedMethod generateMethod = generatedClass.getMethods().add("apply", method -> { method.addJavadoc("Apply resource autowiring."); - method.addModifiers(javax.lang.model.element.Modifier.PUBLIC, - javax.lang.model.element.Modifier.STATIC); + method.addModifiers(javax.lang.model.element.Modifier.PUBLIC, javax.lang.model.element.Modifier.STATIC); method.addParameter(RegisteredBean.class, REGISTERED_BEAN_PARAMETER); method.addParameter(this.target, INSTANCE_PARAMETER); method.returns(this.target); - method.addCode(generateMethodCode(generatedClass.getName(), - generationContext.getRuntimeHints())); + method.addCode(generateMethodCode(generatedClass.getName(), generationContext.getRuntimeHints())); }); beanRegistrationCode.addInstancePostProcessor(generateMethod.toMethodReference()); - registerHints(generationContext.getRuntimeHints()); } diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/support/PersistenceAnnotationBeanPostProcessor.java b/spring-orm/src/main/java/org/springframework/orm/jpa/support/PersistenceAnnotationBeanPostProcessor.java index 5b751bc8407..1ebda4c10d6 100644 --- a/spring-orm/src/main/java/org/springframework/orm/jpa/support/PersistenceAnnotationBeanPostProcessor.java +++ b/spring-orm/src/main/java/org/springframework/orm/jpa/support/PersistenceAnnotationBeanPostProcessor.java @@ -846,12 +846,11 @@ public class PersistenceAnnotationBeanPostProcessor implements InstantiationAwar return CodeBlock.of("$L($L)", generatedMethod.getName(), REGISTERED_BEAN_PARAMETER); } - @SuppressWarnings("NullAway") // Dataflow analysis limitation private void generateGetEntityManagerMethod(MethodSpec.Builder method, PersistenceElement injectedElement) { String unitName = injectedElement.unitName; Properties properties = injectedElement.properties; method.addJavadoc("Get the '$L' {@link $T}.", - (StringUtils.hasLength(unitName)) ? unitName : "default", + (StringUtils.hasLength(unitName) ? unitName : "default"), EntityManager.class); method.addModifiers(javax.lang.model.element.Modifier.PUBLIC, javax.lang.model.element.Modifier.STATIC); @@ -861,10 +860,8 @@ public class PersistenceAnnotationBeanPostProcessor implements InstantiationAwar "$T entityManagerFactory = $T.findEntityManagerFactory(($T) $L.getBeanFactory(), $S)", EntityManagerFactory.class, EntityManagerFactoryUtils.class, ListableBeanFactory.class, REGISTERED_BEAN_PARAMETER, unitName); - boolean hasProperties = !CollectionUtils.isEmpty(properties); - if (hasProperties) { - method.addStatement("$T properties = new Properties()", - Properties.class); + if (properties != null) { + method.addStatement("$T properties = new Properties()", Properties.class); for (String propertyName : new TreeSet<>(properties.stringPropertyNames())) { method.addStatement("properties.put($S, $S)", propertyName, properties.getProperty(propertyName)); } @@ -872,7 +869,7 @@ public class PersistenceAnnotationBeanPostProcessor implements InstantiationAwar method.addStatement( "return $T.createSharedEntityManager(entityManagerFactory, $L, $L)", SharedEntityManagerCreator.class, - (hasProperties) ? "properties" : null, + (properties != null ? "properties" : null), injectedElement.synchronizedWithTransaction); } }