From 8174f3bfcaa1298b37efcd6550ae91e2aa665d63 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 12 Oct 2016 17:11:04 +0200 Subject: [PATCH] Polishing (cherry picked from commit 29a9461) --- .../AnnotationCacheOperationSource.java | 11 +++---- .../context/annotation/Primary.java | 31 ++++++++++--------- .../support/MessageHeaderAccessor.java | 2 +- .../JtaTransactionAnnotationParser.java | 5 +-- 4 files changed, 26 insertions(+), 23 deletions(-) diff --git a/spring-context/src/main/java/org/springframework/cache/annotation/AnnotationCacheOperationSource.java b/spring-context/src/main/java/org/springframework/cache/annotation/AnnotationCacheOperationSource.java index 438c8e633fe..418e6521540 100644 --- a/spring-context/src/main/java/org/springframework/cache/annotation/AnnotationCacheOperationSource.java +++ b/spring-context/src/main/java/org/springframework/cache/annotation/AnnotationCacheOperationSource.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -43,8 +43,7 @@ import org.springframework.util.Assert; * @since 3.1 */ @SuppressWarnings("serial") -public class AnnotationCacheOperationSource extends AbstractFallbackCacheOperationSource - implements Serializable { +public class AnnotationCacheOperationSource extends AbstractFallbackCacheOperationSource implements Serializable { private final boolean publicMethodsOnly; @@ -177,6 +176,7 @@ public class AnnotationCacheOperationSource extends AbstractFallbackCacheOperati return this.annotationParsers.hashCode(); } + /** * Callback interface providing {@link CacheOperation} instance(s) based on * a given {@link CacheAnnotationParser}. @@ -184,10 +184,9 @@ public class AnnotationCacheOperationSource extends AbstractFallbackCacheOperati protected interface CacheOperationProvider { /** - * Returns the {@link CacheOperation} instance(s) provided by the specified parser. - * + * Return the {@link CacheOperation} instance(s) provided by the specified parser. * @param parser the parser to use - * @return the cache operations or {@code null} if none is found + * @return the cache operations, or {@code null} if none found */ Collection getCacheOperations(CacheAnnotationParser parser); } diff --git a/spring-context/src/main/java/org/springframework/context/annotation/Primary.java b/spring-context/src/main/java/org/springframework/context/annotation/Primary.java index b9ffc6037fa..37b6480e6f5 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/Primary.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/Primary.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2011 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,19 +25,20 @@ import java.lang.annotation.Target; /** * Indicates that a bean should be given preference when multiple candidates - * are qualified to autowire a single-valued dependency. If exactly one 'primary' - * bean exists among the candidates, it will be the autowired value. This annotation - * is semantically equivalent to the {@code } element's {@code primary} attribute - * in Spring XML. + * are qualified to autowire a single-valued dependency. If exactly one + * 'primary' bean exists among the candidates, it will be the autowired value. * - *

May be used on any class directly or indirectly annotated with @{@link - * org.springframework.stereotype.Component Component} or on methods annotated - * with @{@link Bean}. + *

This annotation is semantically equivalent to the {@code } element's + * {@code primary} attribute in Spring XML. + * + *

May be used on any class directly or indirectly annotated with + * {@code @Component} or on methods annotated with @{@link Bean}. * *

Example

*
  * @Component
  * public class FooService {
+ *
  *     private FooRepository fooRepository;
  *
  *     @Autowired
@@ -48,6 +49,7 @@ import java.lang.annotation.Target;
  *
  * @Component
  * public class JdbcFooRepository {
+ *
  *     public JdbcFooService(DataSource dataSource) {
  *         // ...
  *     }
@@ -56,20 +58,21 @@ import java.lang.annotation.Target;
  * @Primary
  * @Component
  * public class HibernateFooRepository {
+ *
  *     public HibernateFooService(SessionFactory sessionFactory) {
  *         // ...
  *     }
  * }
  * 
* - *

Because {@code HibernateFooRepository} is marked with {@code @Primary}, it will - * be injected preferentially over the jdbc-based variant assuming both are present as - * beans within the same Spring application context, which is often the case when - * component-scanning is applied liberally. + *

Because {@code HibernateFooRepository} is marked with {@code @Primary}, + * it will be injected preferentially over the jdbc-based variant assuming both + * are present as beans within the same Spring application context, which is + * often the case when component-scanning is applied liberally. * *

Note that using {@code @Primary} at the class level has no effect unless - * component-scanning is being used. If a {@code @Primary}-annotated class is declared via - * XML, {@code @Primary} annotation metadata is ignored, and + * component-scanning is being used. If a {@code @Primary}-annotated class is + * declared via XML, {@code @Primary} annotation metadata is ignored, and * {@code } is respected instead. * * @author Chris Beams diff --git a/spring-messaging/src/main/java/org/springframework/messaging/support/MessageHeaderAccessor.java b/spring-messaging/src/main/java/org/springframework/messaging/support/MessageHeaderAccessor.java index 92c5d0ad24f..9706f459ee8 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/support/MessageHeaderAccessor.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/support/MessageHeaderAccessor.java @@ -566,7 +566,7 @@ public class MessageHeaderAccessor { * of the given {@code Message}, or {@code null} if that's not available or if * its type does not match the required type. *

This is for cases where the existence of an accessor is strongly expected - * (to be followed up with an assertion) or will created if not provided. + * (followed up with an assertion) or where an accessor will be created otherwise. * @return an accessor instance of the specified type, or {@code null} if none * @since 4.1 */ diff --git a/spring-tx/src/main/java/org/springframework/transaction/annotation/JtaTransactionAnnotationParser.java b/spring-tx/src/main/java/org/springframework/transaction/annotation/JtaTransactionAnnotationParser.java index dcecefb54c3..dedd95f9c08 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/annotation/JtaTransactionAnnotationParser.java +++ b/spring-tx/src/main/java/org/springframework/transaction/annotation/JtaTransactionAnnotationParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -39,7 +39,8 @@ public class JtaTransactionAnnotationParser implements TransactionAnnotationPars @Override public TransactionAttribute parseTransactionAnnotation(AnnotatedElement ae) { - AnnotationAttributes attributes = AnnotatedElementUtils.getMergedAnnotationAttributes(ae, javax.transaction.Transactional.class); + AnnotationAttributes attributes = + AnnotatedElementUtils.getMergedAnnotationAttributes(ae, javax.transaction.Transactional.class); if (attributes != null) { return parseTransactionAnnotation(attributes); }