Skip to content

Commit 4230c3a

Browse files
committed
Allow overriding DateTimeProvider via Bean Definition
use autowired properties for AuditorAware and DateTimeProvider when explicit references are not provided See: #3177 Signed-off-by: JaeYeon Kim <ghgh415263@naver.com>
1 parent 1228d09 commit 4230c3a

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

src/main/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupport.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,13 @@
2121

2222
import org.springframework.aop.framework.ProxyFactoryBean;
2323
import org.springframework.aop.target.LazyInitTargetSource;
24-
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
2524
import org.springframework.beans.factory.config.BeanDefinition;
2625
import org.springframework.beans.factory.support.AbstractBeanDefinition;
2726
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
2827
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
2928
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
3029
import org.springframework.core.type.AnnotationMetadata;
3130
import org.springframework.data.auditing.AuditingHandler;
32-
import org.springframework.data.auditing.CurrentDateTimeProvider;
3331
import org.springframework.util.Assert;
3432
import org.springframework.util.StringUtils;
3533

@@ -42,6 +40,7 @@
4240
* @author Thomas Darimont
4341
* @author Oliver Gierke
4442
* @author Francisco Soler
43+
* @author Jaeyeon Kim
4544
*/
4645
public abstract class AuditingBeanDefinitionRegistrarSupport implements ImportBeanDefinitionRegistrar {
4746

@@ -117,20 +116,18 @@ protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(AuditingCon
117116
protected BeanDefinitionBuilder configureDefaultAuditHandlerAttributes(AuditingConfiguration configuration,
118117
BeanDefinitionBuilder builder) {
119118

119+
builder.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE);
120+
120121
if (StringUtils.hasText(configuration.getAuditorAwareRef())) {
121122
builder.addPropertyValue(AUDITOR_AWARE,
122123
createLazyInitTargetSourceBeanDefinition(configuration.getAuditorAwareRef()));
123-
} else {
124-
builder.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE);
125124
}
126125

127126
builder.addPropertyValue(SET_DATES, configuration.isSetDates());
128127
builder.addPropertyValue(MODIFY_ON_CREATE, configuration.isModifyOnCreate());
129128

130129
if (StringUtils.hasText(configuration.getDateTimeProviderRef())) {
131130
builder.addPropertyReference(DATE_TIME_PROVIDER, configuration.getDateTimeProviderRef());
132-
} else {
133-
builder.addPropertyValue(DATE_TIME_PROVIDER, CurrentDateTimeProvider.INSTANCE);
134131
}
135132

136133
builder.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE);

0 commit comments

Comments
 (0)