spring中的自定义编辑器
一个bean中有另一个bean的属性,用自定义编辑器,可以省bean标签。
编辑器的代码:
public class AddressEditer extends PropertyEditorSupport{
@Override
public String getAsText() {
// TODO Auto-generated method stub
return super.getAsText();
}
@Override
public void setAsText(String text) throws IllegalArgumentException {
// TODO Auto-generated method stub
if(text!=null&&(!text.trim().equals(""))){
String str[]=text.split("-");
if(str.length==3){
AddressServiceImpl asi=new AddressServiceImpl();
asi.setAddress(str[0]);
asi.setCode(str[1]);
asi.setTel(str[2]);
setValue(asi);
}
}else{
setValue(null);
}
}
}
xml中的部分代码:
<!-- 定义一个自定义编译器 -->
<bean id="customEditorConfigurer"
class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<!-- key指定的是解析类的全名 -->
<entry key="cn.csdn.service.AddressServiceImpl">
<!-- value指定你的解析类的解析类 -->
<bean class="cn.csdn.util.AddressEditer"/>
</entry>
</map>
</property>
</bean>
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl"
scope="singleton" dependency-check="all">
<property name="name">
<value>guo</value>
</property>
<property name="age">
<value>22</value>
</property>
<property name="email">
<value>guo@qq.com</value>
</property>
<!--没有用自定义编辑器-->
<property name="homeaddress">
<bean class="cn.csdn.service.AddressServiceImpl">
<property name="address">
<value>河北保定</value>
</property>
<property name="code">
<value>071000</value>
</property>
<property name="tel">
<value>29823981239</value>
</property>
</bean>
</property>
<!--使用自定义编辑器--->
<property name="companyddress">
<value>河北邢台-054200-7989889</value>
</property>
</bean>
源文件已上传至:http://download.csdn.net/source/3260114
分享到:
相关推荐
你可以自定义编辑器来解析特殊格式的配置值,如JSON、YAML等。 在实际应用中,自定义属性编辑器能够极大地提高代码的可读性和可维护性,尤其是在处理复杂的数据转换场景时。通过阅读博客文章,你将能够深入了解...
在Spring中,我们可以通过自定义属性编辑器来处理特定类型的值,例如日期、颜色代码或其他自定义对象。这在配置bean属性或处理HTTP请求参数时特别有用。 自定义属性编辑器的创建通常涉及以下步骤: 1. **创建编辑...
### Spring自定义编辑器详解 #### 一、引言 在Spring框架中,自定义编辑器主要用于处理数据类型的转换问题,特别是在将用户输入的数据转换为Java对象时非常有用。例如,用户通过表单提交了一个日期格式的字符串,...
2. 第三方库集成:在与第三方库集成时,如果库中的某些类型在Spring默认编辑器中没有覆盖,可以通过自定义编辑器来处理。 3. 高级转换逻辑:如果你需要在类型转换过程中进行复杂的业务逻辑处理,如验证、格式化等,...
在“Spring学习笔记(11)----自定义属性编辑器”这篇博文中,作者深入探讨了如何自定义属性编辑器以满足特定需求。 首先,我们需要了解属性编辑器的工作原理。当IoC容器读取配置文件时,如果发现一个属性值需要...
在Spring MVC框架中,属性编辑器(PropertyEditor)和参数解析器(HandlerMethodArgumentResolver)是两个关键组件,用于处理数据转换和模型绑定的过程。它们是实现灵活性和扩展性的重要手段,尤其在处理用户输入...
java中的属性编辑器详细说明及Spring中AnnotationMethodHandlerAdapter说明和DefaultAnnotationHandlerMapping的说明及用法
本项目聚焦于将富文本编辑器集成到Spring Boot应用中,以增强用户界面的内容编辑能力。富文本编辑器能够提供一个可视化的文本编辑环境,允许用户在网页上编辑格式化的内容,如插入图片、添加链接等。 项目使用的是...
本文将深入探讨Spring自定义标签的概念、实现过程及其在实际开发中的应用。 首先,理解Spring自定义标签的核心思想:通过扩展Spring的`BeanDefinitionParser`接口或使用`BeanDefinitionBuilder`类,我们可以创建...
在Spring框架中,属性编辑器(PropertyEditor)是一个关键组件,它负责将配置文件中非标准格式的数据转换为JavaBean的可识别类型。属性编辑器是基于JavaBeans规范的,因此理解这个概念需要先了解JavaBean和JavaBeans...
4.7.2. Application context构造器中资源路径的通配符 4.7.2.1. Ant风格的pattern 4.7.2.2. classpath*: 前缀 4.7.2.3. 其他关于通配符的说明 4.7.3. FileSystemResource 提示 5. 校验,数据绑定,BeanWrapper,与...
本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在MyEclipse中编写Spring配置...
##### 4.1 属性编辑器、数据绑定、校验与 BeanWrapper - **数据绑定**:Spring 提供了 DataBinder 类来进行数据绑定操作。 - **BeanWrapper**:用于访问和修改 Bean 的属性。 ##### 4.2 使用 DataBinder 进行数据...
3. **集合类型的处理**:在自定义属性编辑器中,我们需要解析用户提供的字符串,如逗号分隔的值,然后将其转化为对应的`User`对象。这可能涉及到反序列化,例如,将JSON字符串转换为`List<User>`。 4. **绑定到模型...
在`MyDataBinding`中,注册这个自定义编辑器来处理Timestamp类型的属性。 总的来说,Spring MVC提供了强大的数据绑定和类型转换机制,通过自定义转换器,我们可以扩展其功能以满足各种复杂的需求,实现对不同类型...
Spring 负责管理 Action 对象,而 Hibernate 则用于数据库操作,如保存或更新编辑器中的内容。 **与 SSM 框架的融合** SSM 是 Spring、SpringMVC 和 MyBatis 三者的集成。在 SSM 框架中,我们同样需要在 SpringMVC...
10. 自定义编辑器配置器(CustomEditorConfigurer) 文档中出现了“CustomEditorConfigurer”,这是Spring提供的一个用于注册自定义属性编辑器的Bean。它允许我们在应用上下文中注册编辑器类,用于字符串和Java对象...
在现代Web开发中,常常需要集成富文本编辑器来提供用户友好的内容编辑功能。SpringBoot作为一款轻量级的Java Web框架,为快速构建应用程序提供了便利。UEditor是一款流行的开源JavaScript富文本编辑器,它提供了丰富...
"activate-power-mode"插件是Atom编辑器中的一个趣味性增强工具,它的主要功能是在你编写代码时模拟出一种“力量模式”。当用户在编辑器中键入字符或进行删除操作时,屏幕会呈现出粒子效果或震动,仿佛每一次敲击...
8. **事件处理**:通过编程接口(API),开发者可以监听和响应编辑器中的各种事件,比如内容改变、用户点击等,实现与应用程序的交互。 9. **保存和加载**:编辑的内容可以保存为HTML文件,之后在需要时加载回编辑...