开发中前端常常传的日期类型是String的,而后端在存入数据库中的时候,是Date类型的,这时候我们通常都是手动转一下,或者在Converter中转一下,这样是比较麻烦的。 下面介绍一下boot开发spring类型转换
1.自定义DateConverter
import org.springframework.core.convert.converter.Converter;
import org.springframework.util.StringUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 时间类型转换类
*/
public class DateConverter implements Converter<String, Date> {
private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
@Override
public Date convert(String s) {
if(StringUtils.isEmpty(s)) {
return null;
}
try {
return simpleDateFormat.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
2.注册引用类型转换类
2.1 自定义一个类 实现WebMvcConfigurer接口并 使用@Configuration注解
2.2 实现WebMvcConfigurer接口中的addInterceptors方法
2.3 注册引用时间类型转换类
import com.example.springboot_day04_01.utils.DateConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
//实现WebMvcConfigurer接口中的addInterceptors方法
public void addFormatters(FormatterRegistry registry) {
//注册引用时间类型转换类
registry.addConverter(new DateConverter());
}
}