Merge branch 'feature/conversionService_sigle' into 'master'
解决多个ConversionService失败问题 See merge request infra/axzo-framework-commons!24
This commit is contained in:
commit
214cd42b1e
@ -1,8 +1,8 @@
|
||||
package cn.axzo.framework.autoconfigure.validation;
|
||||
|
||||
import cn.axzo.framework.context.validation.SpringValidator;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
@ -12,7 +12,7 @@ import org.springframework.core.convert.ConversionService;
|
||||
import org.springframework.format.support.DefaultFormattingConversionService;
|
||||
import org.springframework.validation.SmartValidator;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
@ -22,18 +22,21 @@ import java.util.Optional;
|
||||
@Configuration
|
||||
@ConditionalOnBean(SmartValidator.class)
|
||||
@ConditionalOnClass(SpringValidator.class)
|
||||
@RequiredArgsConstructor
|
||||
public class SpringValidatorAutoConfiguration {
|
||||
|
||||
private final SmartValidator validator;
|
||||
@Autowired
|
||||
private SmartValidator validator;
|
||||
|
||||
private final ObjectProvider<ConversionService> conversionServiceProvider;
|
||||
@Autowired
|
||||
@Qualifier("mvcConversionService")
|
||||
private ConversionService conversionService;
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public SpringValidator springValidator() {
|
||||
ConversionService conversionService = Optional.ofNullable(conversionServiceProvider.getIfAvailable())
|
||||
.orElseGet(DefaultFormattingConversionService::new);
|
||||
if (Objects.isNull(conversionService)) {
|
||||
conversionService = new DefaultFormattingConversionService();
|
||||
}
|
||||
return new SpringValidator(validator, conversionService);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user