Skip to content

Commit 15410a4

Browse files
committed
Revert "Stop auto-config of MethodValidationPP triggering early init"
5198fe8. The underlying Framework problem that prevents @lazy from working properly is still there in some form or another. See gh-9416
1 parent 5198fe8 commit 15410a4

File tree

2 files changed

+1
-64
lines changed

2 files changed

+1
-64
lines changed

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.springframework.context.annotation.Bean;
3030
import org.springframework.context.annotation.Configuration;
3131
import org.springframework.context.annotation.Import;
32-
import org.springframework.context.annotation.Lazy;
3332
import org.springframework.context.annotation.Role;
3433
import org.springframework.core.env.Environment;
3534
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
@@ -61,7 +60,7 @@ public static LocalValidatorFactoryBean defaultValidator() {
6160
@Bean
6261
@ConditionalOnMissingBean
6362
public static MethodValidationPostProcessor methodValidationPostProcessor(
64-
Environment environment, @Lazy Validator validator) {
63+
Environment environment, Validator validator) {
6564
MethodValidationPostProcessor processor = new MethodValidationPostProcessor();
6665
processor.setProxyTargetClass(determineProxyTargetClass(environment));
6766
processor.setValidator(validator);

spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfigurationTests.java

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616

1717
package org.springframework.boot.autoconfigure.validation;
1818

19-
import java.util.HashSet;
20-
import java.util.Set;
21-
2219
import javax.validation.ConstraintViolationException;
2320
import javax.validation.Validator;
2421
import javax.validation.constraints.Min;
@@ -30,15 +27,12 @@
3027
import org.junit.rules.ExpectedException;
3128

3229
import org.springframework.beans.DirectFieldAccessor;
33-
import org.springframework.beans.factory.config.BeanPostProcessor;
34-
import org.springframework.boot.autoconfigure.validation.ValidationAutoConfigurationTests.CustomValidatorConfiguration.TestBeanPostProcessor;
3530
import org.springframework.boot.test.util.EnvironmentTestUtils;
3631
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
3732
import org.springframework.context.annotation.Bean;
3833
import org.springframework.context.annotation.Configuration;
3934
import org.springframework.context.annotation.Primary;
4035
import org.springframework.validation.annotation.Validated;
41-
import org.springframework.validation.beanvalidation.CustomValidatorBean;
4236
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
4337
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;
4438
import org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean;
@@ -204,13 +198,6 @@ public void userDefinedMethodValidationPostProcessorTakesPrecedence() {
204198
.getPropertyValue("validator"));
205199
}
206200

207-
@Test
208-
public void methodValidationPostProcessorValidatorDependencyDoesNotTriggerEarlyInitialization() {
209-
load(CustomValidatorConfiguration.class);
210-
assertThat(this.context.getBean(TestBeanPostProcessor.class).postProcessed)
211-
.contains("someService");
212-
}
213-
214201
private boolean isPrimaryBean(String beanName) {
215202
return this.context.getBeanDefinition(beanName).isPrimary();
216203
}
@@ -335,53 +322,4 @@ public MethodValidationPostProcessor testMethodValidationPostProcessor() {
335322

336323
}
337324

338-
@Configuration
339-
static class CustomValidatorConfiguration {
340-
341-
CustomValidatorConfiguration(SomeService someService) {
342-
343-
}
344-
345-
@Bean
346-
Validator customValidator() {
347-
return new CustomValidatorBean();
348-
}
349-
350-
@Bean
351-
static TestBeanPostProcessor testBeanPostProcessor() {
352-
return new TestBeanPostProcessor();
353-
}
354-
355-
@Configuration
356-
static class SomeServiceConfiguration {
357-
358-
@Bean
359-
public SomeService someService() {
360-
return new SomeService();
361-
}
362-
363-
}
364-
365-
static class SomeService {
366-
367-
}
368-
369-
static class TestBeanPostProcessor implements BeanPostProcessor {
370-
371-
private Set<String> postProcessed = new HashSet<String>();
372-
373-
@Override
374-
public Object postProcessAfterInitialization(Object bean, String name) {
375-
this.postProcessed.add(name);
376-
return bean;
377-
}
378-
379-
@Override
380-
public Object postProcessBeforeInitialization(Object bean, String name) {
381-
return bean;
382-
}
383-
384-
}
385-
}
386-
387325
}

0 commit comments

Comments
 (0)