
net.guerlab.spring.commons.autoconfigure.ConverterConfig Maven / Gradle / Ivy
package net.guerlab.spring.commons.autoconfigure;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.convert.support.GenericConversionService;
import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
import org.springframework.web.bind.support.WebBindingInitializer;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import net.guerlab.spring.commons.converter.LocalDateConverter;
import net.guerlab.spring.commons.converter.LocalDateTimeConverter;
/**
* 转换配置
*
* @author guer
*
*/
@Configuration
@ConditionalOnClass(RequestMappingHandlerAdapter.class)
public class ConverterConfig {
@Autowired
private RequestMappingHandlerAdapter handlerAdapter;
/**
* 增加字符串转日期的功能
*/
@PostConstruct
public void initEditableValidation() {
WebBindingInitializer webBindingInitializer = handlerAdapter.getWebBindingInitializer();
if (!(webBindingInitializer instanceof ConfigurableWebBindingInitializer)) {
return;
}
ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) webBindingInitializer;
if (initializer.getConversionService() == null) {
return;
}
ConversionService conversionService = initializer.getConversionService();
if (!(conversionService instanceof GenericConversionService)) {
return;
}
GenericConversionService service = (GenericConversionService) conversionService;
service.addConverter(new LocalDateTimeConverter());
service.addConverter(new LocalDateConverter());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy