自定义转换器Converter实现案例
Spring 中自定义转换器实现案例
1 自定义转换器
code 如下:
package com.gientech.selfConvert;
import org.springframework.core.convert.converter.Converter;
public class StudentConverter implements Converter<String, Student> {
@Override
public Student convert(String source) {
System.out.println("----");
Student student = new Student();
String[] split = source.split("_");
student.setId(Integer.parseInt(split[0]));
student.setName(split[1]);
return student;
}
}
student code
package com.gientech.selfConvert;
public class Student {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2 注册转换器
code 如下:
<bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="username" value="root"></property>
</bean>
<bean id="StudentConverter" class="com.gientech.selfConvert.StudentConverter"></bean>
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<ref bean="StudentConverter"></ref>
</set>
</property>
</bean>