|
1 | 1 | /*
|
2 |
| - * Copyright 2012-2021 the original author or authors. |
| 2 | + * Copyright 2012-2022 the original author or authors. |
3 | 3 | *
|
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License");
|
5 | 5 | * you may not use this file except in compliance with the License.
|
|
34 | 34 | import org.springframework.beans.factory.support.BeanDefinitionBuilder;
|
35 | 35 | import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
36 | 36 | import org.springframework.boot.util.Instantiator;
|
| 37 | +import org.springframework.context.EnvironmentAware; |
37 | 38 | import org.springframework.context.annotation.Import;
|
38 | 39 | import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
|
39 | 40 | import org.springframework.core.Ordered;
|
|
63 | 64 | */
|
64 | 65 | public class DatabaseInitializationDependencyConfigurer implements ImportBeanDefinitionRegistrar {
|
65 | 66 |
|
66 |
| - private final Environment environment; |
67 |
| - |
68 |
| - DatabaseInitializationDependencyConfigurer(Environment environment) { |
69 |
| - this.environment = environment; |
70 |
| - } |
71 |
| - |
72 | 67 | @Override
|
73 | 68 | public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
|
74 | 69 | String name = DependsOnDatabaseInitializationPostProcessor.class.getName();
|
75 | 70 | if (!registry.containsBeanDefinition(name)) {
|
76 |
| - BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition( |
77 |
| - DependsOnDatabaseInitializationPostProcessor.class, |
78 |
| - this::createDependsOnDatabaseInitializationPostProcessor); |
| 71 | + BeanDefinitionBuilder builder = BeanDefinitionBuilder |
| 72 | + .genericBeanDefinition(DependsOnDatabaseInitializationPostProcessor.class); |
79 | 73 | registry.registerBeanDefinition(name, builder.getBeanDefinition());
|
80 | 74 | }
|
81 | 75 | }
|
82 | 76 |
|
83 |
| - private DependsOnDatabaseInitializationPostProcessor createDependsOnDatabaseInitializationPostProcessor() { |
84 |
| - return new DependsOnDatabaseInitializationPostProcessor(this.environment); |
85 |
| - } |
86 |
| - |
87 | 77 | /**
|
88 | 78 | * {@link BeanFactoryPostProcessor} used to configure database initialization
|
89 | 79 | * dependency relationships.
|
90 | 80 | */
|
91 |
| - static class DependsOnDatabaseInitializationPostProcessor implements BeanFactoryPostProcessor, Ordered { |
| 81 | + static class DependsOnDatabaseInitializationPostProcessor |
| 82 | + implements BeanFactoryPostProcessor, EnvironmentAware, Ordered { |
92 | 83 |
|
93 |
| - private final Environment environment; |
| 84 | + private Environment environment; |
94 | 85 |
|
95 |
| - DependsOnDatabaseInitializationPostProcessor(Environment environment) { |
| 86 | + @Override |
| 87 | + public void setEnvironment(Environment environment) { |
96 | 88 | this.environment = environment;
|
97 | 89 | }
|
98 | 90 |
|
|
0 commit comments