Skip to content

Commit f42998f

Browse files
committed
Revert "Refine validator and MVC validator configuration"
This commit reverts c9561f0 and 69a8c0d and effectivly fixes gh-8979 but reintroduces the issue reported in gh-8495.
1 parent 4d8584e commit f42998f

File tree

14 files changed

+432
-771
lines changed

14 files changed

+432
-771
lines changed

spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/EndpointMvcIntegrationTests.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
4242
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
4343
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
44-
import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration;
4544
import org.springframework.boot.autoconfigure.web.DispatcherServletAutoConfiguration;
4645
import org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration;
4746
import org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration;
@@ -157,9 +156,9 @@ protected TestInterceptor interceptor() {
157156
@Documented
158157
@Import({ EmbeddedServletContainerAutoConfiguration.class,
159158
ServerPropertiesAutoConfiguration.class,
160-
DispatcherServletAutoConfiguration.class, ValidationAutoConfiguration.class,
161-
WebMvcAutoConfiguration.class, JacksonAutoConfiguration.class,
162-
ErrorMvcAutoConfiguration.class, PropertyPlaceholderAutoConfiguration.class })
159+
DispatcherServletAutoConfiguration.class, WebMvcAutoConfiguration.class,
160+
JacksonAutoConfiguration.class, ErrorMvcAutoConfiguration.class,
161+
PropertyPlaceholderAutoConfiguration.class })
163162
protected @interface MinimalWebConfiguration {
164163

165164
}

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

Lines changed: 0 additions & 47 deletions
This file was deleted.

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

Lines changed: 0 additions & 82 deletions
This file was deleted.

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

Lines changed: 0 additions & 46 deletions
This file was deleted.

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

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,18 @@
1919
import javax.validation.Validator;
2020
import javax.validation.executable.ExecutableValidator;
2121

22+
import org.springframework.beans.factory.config.BeanDefinition;
2223
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
23-
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2424
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2525
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2626
import org.springframework.boot.autoconfigure.condition.ConditionalOnResource;
2727
import org.springframework.boot.bind.RelaxedPropertyResolver;
28+
import org.springframework.boot.validation.MessageInterpolatorFactory;
2829
import org.springframework.context.annotation.Bean;
2930
import org.springframework.context.annotation.Configuration;
30-
import org.springframework.context.annotation.Import;
31+
import org.springframework.context.annotation.Role;
3132
import org.springframework.core.env.Environment;
33+
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
3234
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;
3335

3436
/**
@@ -41,12 +43,19 @@
4143
@Configuration
4244
@ConditionalOnClass(ExecutableValidator.class)
4345
@ConditionalOnResource(resources = "classpath:META-INF/services/javax.validation.spi.ValidationProvider")
44-
@Import({ DefaultValidatorConfiguration.class,
45-
Jsr303ValidatorAdapterConfiguration.class })
4646
public class ValidationAutoConfiguration {
4747

4848
@Bean
49-
@ConditionalOnBean(Validator.class)
49+
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
50+
@ConditionalOnMissingBean
51+
public static Validator jsr303Validator() {
52+
LocalValidatorFactoryBean factoryBean = new LocalValidatorFactoryBean();
53+
MessageInterpolatorFactory interpolatorFactory = new MessageInterpolatorFactory();
54+
factoryBean.setMessageInterpolator(interpolatorFactory.getObject());
55+
return factoryBean;
56+
}
57+
58+
@Bean
5059
@ConditionalOnMissingBean
5160
public static MethodValidationPostProcessor methodValidationPostProcessor(
5261
Environment environment, Validator validator) {

0 commit comments

Comments
 (0)