Polishing

This commit is contained in:
Juergen Hoeller 2016-12-26 11:26:58 +01:00
parent f805427629
commit a8741dd371
4 changed files with 29 additions and 26 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2012 the original author or authors. * Copyright 2002-2016 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.
@ -19,15 +19,16 @@ package org.springframework.aop.framework.autoproxy;
import org.springframework.beans.factory.BeanNameAware; import org.springframework.beans.factory.BeanNameAware;
/** /**
* BeanPostProcessor implementation that creates AOP proxies based on all candidate * {@code BeanPostProcessor} implementation that creates AOP proxies based on all
* Advisors in the current BeanFactory. This class is completely generic; it contains * candidate {@code Advisor}s in the current {@code BeanFactory}. This class is
* no special code to handle any particular aspects, such as pooling aspects. * completely generic; it contains no special code to handle any particular aspects,
* such as pooling aspects.
* *
* <p>It's possible to filter out advisors - for example, to use multiple post processors * <p>It's possible to filter out advisors - for example, to use multiple post processors
* of this type in the same factory - by setting the {@code usePrefix} property * of this type in the same factory - by setting the {@code usePrefix} property to true,
* to true, in which case only advisors beginning with the DefaultAdvisorAutoProxyCreator's * in which case only advisors beginning with the DefaultAdvisorAutoProxyCreator's bean
* bean name followed by a dot (like "aapc.") will be used. This default prefix can be * name followed by a dot (like "aapc.") will be used. This default prefix can be changed
* changed from the bean name by setting the {@code advisorBeanNamePrefix} property. * from the bean name by setting the {@code advisorBeanNamePrefix} property.
* The separator (.) will also be used in this case. * The separator (.) will also be used in this case.
* *
* @author Rod Johnson * @author Rod Johnson
@ -40,22 +41,22 @@ public class DefaultAdvisorAutoProxyCreator extends AbstractAdvisorAutoProxyCrea
public final static String SEPARATOR = "."; public final static String SEPARATOR = ".";
private boolean usePrefix; private boolean usePrefix = false;
private String advisorBeanNamePrefix; private String advisorBeanNamePrefix;
/** /**
* Set whether to exclude advisors with a certain prefix * Set whether to only include advisors with a certain prefix in the bean name.
* in the bean name. * <p>Default is {@code false}, including all beans of type {@code Advisor}.
* @see #setAdvisorBeanNamePrefix
*/ */
public void setUsePrefix(boolean usePrefix) { public void setUsePrefix(boolean usePrefix) {
this.usePrefix = usePrefix; this.usePrefix = usePrefix;
} }
/** /**
* Return whether to exclude advisors with a certain prefix * Return whether to only include advisors with a certain prefix in the bean name.
* in the bean name.
*/ */
public boolean isUsePrefix() { public boolean isUsePrefix() {
return this.usePrefix; return this.usePrefix;
@ -89,7 +90,7 @@ public class DefaultAdvisorAutoProxyCreator extends AbstractAdvisorAutoProxyCrea
/** /**
* Consider Advisor beans with the specified prefix as eligible, if activated. * Consider {@code Advisor} beans with the specified prefix as eligible, if activated.
* @see #setUsePrefix * @see #setUsePrefix
* @see #setAdvisorBeanNamePrefix * @see #setAdvisorBeanNamePrefix
*/ */

View File

@ -27,7 +27,6 @@ import java.util.Map;
import java.util.TimeZone; import java.util.TimeZone;
import org.springframework.format.Formatter; import org.springframework.format.Formatter;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.format.annotation.DateTimeFormat.ISO; import org.springframework.format.annotation.DateTimeFormat.ISO;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@ -43,6 +42,8 @@ import org.springframework.util.StringUtils;
*/ */
public class DateFormatter implements Formatter<Date> { public class DateFormatter implements Formatter<Date> {
private static final TimeZone UTC = TimeZone.getTimeZone("UTC");
private static final Map<ISO, String> ISO_PATTERNS; private static final Map<ISO, String> ISO_PATTERNS;
static { static {
@ -176,7 +177,7 @@ public class DateFormatter implements Formatter<Date> {
throw new IllegalStateException("Unsupported ISO format " + this.iso); throw new IllegalStateException("Unsupported ISO format " + this.iso);
} }
SimpleDateFormat format = new SimpleDateFormat(pattern); SimpleDateFormat format = new SimpleDateFormat(pattern);
format.setTimeZone(TimeZone.getTimeZone("UTC")); format.setTimeZone(UTC);
return format; return format;
} }
if (StringUtils.hasLength(this.stylePattern)) { if (StringUtils.hasLength(this.stylePattern)) {

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2013 the original author or authors. * Copyright 2002-2016 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.
@ -26,14 +26,17 @@ import org.springframework.format.FormatterRegistry;
import org.springframework.util.Assert; import org.springframework.util.Assert;
/** /**
* Configures Date formatting for use with Spring. * Configures basic date formatting for use with Spring, primarily for
* {@link org.springframework.format.annotation.DateTimeFormat} declarations.
* Applies to fields of type {@link Date}, {@link Calendar} and {@code long}.
* *
* <p>Designed for direct instantiation but also exposes the static * <p>Designed for direct instantiation but also exposes the static
* {@link #addDateConverters(ConverterRegistry)} utility method for ad hoc use * {@link #addDateConverters(ConverterRegistry)} utility method for
* against any {@code ConverterRegistry} instance. * ad-hoc use against any {@code ConverterRegistry} instance.
* *
* @author Phillip Webb * @author Phillip Webb
* @since 3.2 * @since 3.2
* @see org.springframework.format.datetime.standard.DateTimeFormatterRegistrar
* @see org.springframework.format.datetime.joda.JodaTimeFormatterRegistrar * @see org.springframework.format.datetime.joda.JodaTimeFormatterRegistrar
* @see FormatterRegistrar#registerFormatters * @see FormatterRegistrar#registerFormatters
*/ */
@ -43,9 +46,9 @@ public class DateFormatterRegistrar implements FormatterRegistrar {
/** /**
* Set the date formatter to register. If not specified no formatter is registered. * Set a global date formatter to register.
* This method can be used if global formatter configuration is required. * <p>If not specified, no general formatter for non-annotated
* @param dateFormatter the date formatter * {@link Date} and {@link Calendar} fields will be registered.
*/ */
public void setFormatter(DateFormatter dateFormatter) { public void setFormatter(DateFormatter dateFormatter) {
Assert.notNull(dateFormatter, "DateFormatter must not be null"); Assert.notNull(dateFormatter, "DateFormatter must not be null");

View File

@ -30,8 +30,7 @@ import org.springframework.format.Printer;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
/** /**
* Formats fields annotated with the {@link DateTimeFormat} annotation using * Formats fields annotated with the {@link DateTimeFormat} annotation using a {@link DateFormatter}.
* a {@link DateFormatter}.
* *
* @author Phillip Webb * @author Phillip Webb
* @since 3.2 * @since 3.2
@ -40,7 +39,6 @@ import org.springframework.format.annotation.DateTimeFormat;
public class DateTimeFormatAnnotationFormatterFactory extends EmbeddedValueResolutionSupport public class DateTimeFormatAnnotationFormatterFactory extends EmbeddedValueResolutionSupport
implements AnnotationFormatterFactory<DateTimeFormat> { implements AnnotationFormatterFactory<DateTimeFormat> {
private static final Set<Class<?>> FIELD_TYPES; private static final Set<Class<?>> FIELD_TYPES;
static { static {