数据转换 & 数据格式化

在这里插入图片描述
在这里插入图片描述

  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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Date数据类型格式化转换,可以使用Java中的SimpleDateFormat类来实现。SimpleDateFormat类是一个用于格式化和解析日期的类。 下面是一个简单的示例代码,将Date类型的数据转换为指定格式的字符串: ``` import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat(&quot;yyyy-MM-dd HH:mm:ss&quot;); String str = sdf.format(date); System.out.println(str); } } ``` 在上述代码中,我们首先创建了一个Date对象,然后创建了一个SimpleDateFormat对象,并指定了要转换的日期格式。最后调用SimpleDateFormat对象的format方法将Date对象转换为字符串。 如果要将字符串转换为Date对象,则可以使用SimpleDateFormat类的parse()方法。下面是一个示例代码: ``` import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { public static void main(String[] args) throws Exception { String str = &quot;2021-05-20 16:30:00&quot;; SimpleDateFormat sdf = new SimpleDateFormat(&quot;yyyy-MM-dd HH:mm:ss&quot;); Date date = sdf.parse(str); System.out.println(date); } } ``` 在上述代码中,我们首先创建了一个字符串对象,表示要转换的日期字符串。然后创建了一个SimpleDateFormat对象,并指定了要转换的日期格式。最后调用SimpleDateFormat对象的parse方法将字符串转换为Date对象。注意,parse方法可能会抛出ParseException异常,所以需要进行异常处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值