1.自定义转换器。
1-1:日期转换类
1:继承PropertyEditorSupport
* 实现 setAsText
* super.setValue(date);
public class DateConverter extends PropertyEditorSupport {
private String pattern ;
public String getPattern() {
return pattern;
}
public void setPattern(String pattern) {
this.pattern = pattern;
}
public void setAsText(String str) throws IllegalArgumentException {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
Date date = sdf.parse(str);
super.setValue(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
1-2: 注册
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="java.util.Date">
<bean class="com.sunbin.spring.util.DateConverter">
<property name="pattern" value="yyyy-MM-dd"></property>
</bean>
</entry>
</map>
</property>
</bean>
1-3:配置使用
<bean id="log" class="com.sunbin.spring.mode.Log">
<property name="message" value="reg"></property>
<property name="date">
<value>2001-09-21</value>
</property>
</bean>
对应类文件//省略了get/set方法
class Log {
private int id;
private String message;
private Date date;}
2.使用spring内置转换器。//以下有两个转换器CustomDateEditor和StringTrimmerEditor。
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="java.util.Date" value-ref="dateConverter"></entry>
<entry key="java.lang.String" value-ref="trimmer"></entry>
</map>
</property>
</bean>
<bean id="dateConverter" class="org.springframework.beans.propertyeditors.CustomDateEditor">
<constructor-arg ref="simpleDateFormat"></constructor-arg>
<constructor-arg value="true"></constructor-arg>
</bean>
<bean id="simpleDateFormat" class="java.text.SimpleDateFormat">
<constructor-arg value="yyyy-MM-dd"></constructor-arg>
</bean>
<bean id="trimmer" class="org.springframework.beans.propertyeditors.StringTrimmerEditor">
<constructor-arg value=","></constructor-arg>
<constructor-arg value="true"></constructor-arg>
</bean>
相关推荐
在Spring框架中,属性编辑器(PropertyEditor)是一种强大的工具,允许我们自定义类型转换过程。当我们需要将字符串形式的数据转换为Java对象时,属性编辑器就发挥了关键作用。例如,从请求参数或配置文件中读取的...
总之,自定义属性编辑器是Spring框架中一个非常实用的特性,它允许我们扩展和定制数据转换逻辑,以适应各种复杂的需求。通过理解和熟练运用自定义属性编辑器,开发者可以更好地利用Spring的IoC功能,提高代码的灵活...
此外,理解并熟练运用自定义属性编辑器对于处理复杂或特殊的用户输入至关重要,尤其是在需要对集合进行定制转换时。这不仅可以提高应用的灵活性,还可以确保数据的正确性,避免因类型不匹配而引发的错误。 总之,`...
6. **自定义功能**:KindEditor提供了丰富的API和插件系统,可以根据需求定制编辑器的功能,如添加自定义按钮、扩展编辑器功能等。 7. **响应式设计**:为了适应不同设备的显示,可以考虑调整KindEditor的样式,使...
此外,ConfigurableBeanFactory接口增强了IoC容器的可定制性,允许设置类装载器、属性编辑器等。 AutowireCapableBeanFactory接口定义了自动装配的机制,通过一定的规则将容器中的bean进行自动装配。...
在这个类中,我们可以通过`initBinder`方法注册自定义的日期编辑器,如`CustomDateEditor`,将日期格式设置为"yyyy-MM-dd",并设置lenient属性为false以确保日期解析的严格性。 此外,如果需要处理时间戳...
3. **Spring Beans可视化编辑器**:STS提供了一个图形化的Bean定义编辑器,使开发者能够直观地查看和编辑bean的配置,包括属性、依赖注入和生命周期方法等。 4. **Spring Profile支持**:在STS中,你可以方便地切换...
5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的...
总结,Spring环境的搭建涉及到库的配置、配置文件的编写、bean的定义与依赖注入、属性编辑器的定制以及bean的作用域和自动装配等多方面的知识。理解并熟练掌握这些概念,将有助于你有效地使用Spring框架进行应用程序...
5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...
5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...
- **自定义属性编辑器**:Spring提供了内置的属性编辑器,但有时需要自定义以转换特定类型的字符串。自定义编辑器需继承`PropertyEditorSupport`,覆盖`setAsText()`方法,并在Spring配置中注册。 3. **依赖对象的...
5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...
5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...
Spring MVC允许开发者通过注解来简化控制器的编写,提供了模型与视图的解耦,以及对事务管理、数据验证等高级功能的支持。 **EasyUI** 是一套基于jQuery的UI库,提供了丰富的组件,如对话框、表格、表单、布局等,...
基于Eclipse的代码编辑器提供了强大的Java和Groovy代码补全、重构功能,对于Spring框架特有的注解,如`@Autowired`、`@Service`、`@Repository`等,STS4能提供精确的上下文感知提示,使得编码更高效。 **5. 测试...
2.16 创建自定义属性编辑器 99 2.16.1 问题 99 2.16.2 解决方案 100 2.16.3 工作原理 100 2.17 使用TaskExecutor实现并发性 101 2.17.1 问题 101 2.17.2 解决方案 101 2.17.3 工作原理 102 2.18 小...