Ⅵ.spring的点点滴滴--自定义类型转换器
承接上文
自定义类型转换器
.net篇(环境为vs2012+Spring.Core.dll v1.31)
public class CustomeConverter : TypeConverter{
public override bool CanConvertFrom(
ITypeDescriptorContext context,
Type sourceType){
return true;
}
public override object ConvertFrom(
ITypeDescriptorContext context,
System.Globalization.CultureInfo culture,
object value){
return new TypeCunstomer() { Name = value.ToString() };
}
}
public class TypeObject{
public TypeCunstomer Name { get; set; }
}
public class TypeCunstomer{
public string Name { get; set; }
}<object
type="Spring.Objects.Factory.Config.CustomConverterConfigurer, Spring.Core">
<property name="CustomConverters">
<dictionary>
<entry key="SpringBase.TypeCunstomer">
<object type="SpringBase.CustomeConverter"/>
</entry>
</dictionary>
</property>
</object>
<object id="typeconvert" type="SpringBase.TypeObject,SpringBase">
<property name="Name" value="2"/>
</object>
- 继承中的CanConvertFrom方法是用于判断能否转换,ConvertFrom转换的具体方法
 
java篇(环境为Maven+Jdk1.7+IntelliJ IDEA 12.1.4)
package springdemo;
import java.beans.PropertyEditorSupport;
public class TypeObject {
private TypeCunstomer name;
public TypeCunstomer getName() {
return name;
}
public void setName(TypeCunstomer name) {
this.name = name;
}
}
class TypeCunstomer {
private String name;
String getName() {
return name;
}
void setName(String name) {
this.name = name;
}
}
class CustomeConverter extends PropertyEditorSupport {
@Override
public void setAsText(String text) throws IllegalArgumentException {
TypeCunstomer val=new TypeCunstomer();
val.setName(text+"Convent");
this.setValue(val);
}
}<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="springdemo.TypeCunstomer">
<bean class="springdemo.CustomeConverter" />
</entry>
</map>
</property>
</bean>
<bean id="typeObject" class="springdemo.TypeObject">
<property name="name" value="1"/>
</bean>
- 重写setAsText方法,其中setValue的参数为object
 
java和Csharp的共同点
- 配置文件中的dictionary|map标签设置的key为要转换的类型,值为转换的方法类
 - 都是继承一个对象,然后重写方法来自定义类型的转换
 
Ⅵ.spring的点点滴滴--自定义类型转换器的更多相关文章
- Ⅶ.spring的点点滴滴--自定义对象行为
		
承接上文 自定义对象行为 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class lifeCycle : Spring.Objects.Factory. ...
 - 《SpringMVC从入门到放肆》十二、SpringMVC自定义类型转换器
		
之前的教程,我们都已经学会了如何使用Spring MVC来进行开发,掌握了基本的开发方法,返回不同类型的结果也有了一定的了解,包括返回ModelAndView.返回List.Map等等,这里就包含了传 ...
 - 自定义类型转换器 及 使用 ServletAPI 对象作为方法参数
		
自定义类型转换器使用场景: jsp 代码: <!-- 特殊情况之:类型转换问题 --> <a href="account/deleteAccount?date=2018- ...
 - SpringMVC自定义类型转换器
		
SpringMVC 自定义类型转换器 我们在使用SpringMVC时,常常需要把表单中的参数映射到我们对象的属性中,我们可以在默认的spring-servlet.xml加上如下的配置即可做到普通数据 ...
 - springmvc——自定义类型转换器
		
一.什么是springmvc类型转换器? 在我们的ssm框架中,前端传递过来的参数都是字符串,在controller层接收参数的时候springmvc能够帮我们将大部分字符串类型的参数自动转换为我们指 ...
 - springmvc中如何自定义类型转换器
		
package com.hope.utils;import org.springframework.core.convert.converter.Converter;import org.spring ...
 - Struts2框架的自定义类型转换器
		
前言:对于java的基本数据类型及一些系统类(如Date类.集合类),Struts2提供了内置类型转换功能,但是也有一定的限制.所以就演示出自定义类型转换器 一.应用于局部类型转换器 eg.用户登录出 ...
 - sruts2 自定义类型转换器
		
1.1.1 Struts2中自定义类型转换器:(了解) 类型转换的过程是双向的过程: JSP---->Action参数提交:String---Date. Action---->JSP ...
 - Struts2之自定义类型转换器
		
Struts2自定义类型转换器分为局部类型转换器和全局类型转换器 (1)局部类型转换器 如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然后属性用d ...
 
随机推荐
- js构造函数传参
			
1.直接传参并用this关键字初始化属性 function Person(name,age,learn){ this.name = name; this.age = age; this.learn = ...
 - C++的构造函数和析构函数
			
1.构造函数和析构函数为什么没有返回值? 构造函数和析构函数是两个非常特殊的函数:它们没有返回值.这与返回值为void的函数显然不同,后者虽然也不返回任何值,但还可以让它做点别的事情,而构造函数和析构 ...
 - [转载]MongoDB学习 (六):查询
			
本文地址:http://www.cnblogs.com/egger/archive/2013/06/14/3135847.html 欢迎转载 ,请保留此链接๑•́ ₃•̀๑! 本文将介绍操作符的使用 ...
 - BT5下安装Metasploit4.5方法
			
BT5与Ubuntu下安装最新版Metasploit4.5方法:(先把老版本的MSF uninstall,BT5自带的老版本Metasploit没有办法升级!) 1.下载Metasploit下的Lin ...
 - jquery dom ready, jqery2.1.1实现-源码分析
			
本文链接http://www.cnblogs.com/Bond/p/4178311.html jquery document ready的实现其很很简,虽说简单,其很很多人还是没去关注过它的实现.我 ...
 - linux 访问windows共享
			
1. windows端建立一个用户user用于共享访问 2. 共享一个目录,设置user可以访问,并在windows系统中确认可以访问 3. linux端创建一个用于挂载共享目录的目录 mkdi ...
 - 如何才能学到Qt的精髓——信号槽之间的无关性,提供了绝佳的对象间通讯方式,QT的GUI全是自己的一套,并且完全开源,提供了一个绝好机会窥视gui具体实现
			
姚冬,中老年程序员 叶韵.KY Xu.赵奋强 等人赞同 被邀请了很久了,一直在思考,今天终于下决心开始写回答. 这个问题的确是够大的,Qt的代码规模在整个开源世界里也是名列前茅的,这么大的项目其中的精 ...
 - 坚持Delphi的厂商与产品
			
能记一个算一个吧... 招商银行的企业网银是用Delphi开发的,听说招商有不少软件都是用Delphi开发的. 广州酷狗音乐招Delphi开发 对程序员来说,Delphi写的比较有名的软件莫过于Dev ...
 - Java调用存储过程时报 The user specified as a definer ('root'@'%') does not exist 解决方法
			
Caused by: java.sql.SQLException: The user specified as a definer (''@'') does not exist at c ...
 - MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类
			
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型.是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器 ...