欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据转换 & 数据格式化

程序员文章站 2024-03-24 17:19:22
...

数据转换 & 数据格式化
数据转换 & 数据格式化

  1. 自定义类型转换
    ConversionService组件:负责数据类型的转换以及格式化功能;
    ConversionService有非常多的converter
    不同类型的转换和格式化用它自己的converter
    步骤:
    ConversionService:是一个接口;
    它里面有converter(转换器)工作
    1)实现Converter接口,写一个自定义的类型转换器;
    数据转换 & 数据格式化
    2)Converter是ConversionService中的组件:
    你的Converter要放进ConversionService中;
    将webDataBinder中的ConversionService设置成我们这个加了自定义类型转换器的ConversionService;
    3)配置出ConversionService;
		<!-- 告诉SpringMVC别用默认的ConversionService而用自定义的 -->
		<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
			<!-- converters转换器中添加我们自定义的类型转换器 -->
			<property name="converters">
				<set>
					<bean class="com.lyj.component.MyStringToEmployeeConverter"></bean>
				</set>
			</property>
		</bean>
<!-- 指定我们自己配置的类型转换组件 -->
		<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>

总结三步:
1)实现Converter接口,做一个自定义类型的转换器
2)将zhegeConverter配置在ConversionService中
3)告诉SpringMVC使用这个ConversionService

mvc:annotation-driven</mvc:annotation-driven>

数据转换 & 数据格式化
SpringMVC解析mvc:annotation-driven标签
只要请求不好使了就召唤mvc:annotation-driven

<mvc:annotation-driven><mvc:annotation-driven>
<mvc:default-servlet-handler />

现象:都没配?动态资源(@RequestMapping映射的资源能访问,静态资源如.hmtl.js.img不能访问)
<mvc:default-servlet-handler /> 静态资源可以访问,当时动态的又不能访问了
只加<mvc:annotation-driven><mvc:annotation-driven>也不行

<mvc:annotation-driven><mvc:annotation-driven><mvc:default-servlet-handler />

都加上后才能正常访问

格式化

格式不正确提示400;
日期格式:2019/11/16
ConversionServiceFactoryBean:创建的ConversionService组件时没有格式化器存在的

<!-- 以后写自定义类型转换器的时候,就使用FormattingConversionServiceFactoryBean来注册
			既具有类型转换又有格式化功能
		 -->
		<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">

在初始化属性时添加注解:

@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date birth;

数字格式化:

//工资格式:¥10,000.98
	@NumberFormat(pattern="#,###,###.##")
	private Double sallary;