`

[maven + spring]SpringInAction 注册自定义属性编辑器时出现问题

阅读更多
引用

[maven + spring]SpringInAction 注册自定义属性编辑器时出现问题

功能描述:做一个电话号码自定义属性编辑器(摘自Spirng In Action例子)
**********************************************************************
maven的pom.xml中得加入如下代码
	<dependency>
	  <groupId>cglib</groupId>
	  <artifactId>cglib</artifactId>
	  <version>3.1</version>
	</dependency>

**********************************************************************

1.sec3.xml中
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
	<property name="customEditors">
		<map>
			<entry key="com.lh.springtest02.section3.PhoneNumber">
				<bean id="phoneEditor" class="com.lh.springtest02.section3.PhoneEditor"/>
			</entry>
		</map>
	</property>
</bean>
	
<bean id="contact" class="com.lh.springtest02.section3.Contact">
	<property name="phoneNumber" value="888-555-1212"></property>
</bean>

2.PhoneNumber..java
public class PhoneNumber {
	private String areaCode;
	private String prefix;
	private String number;
	
	public PhoneNumber() {
	}
	
	public PhoneNumber(String areaCode, String prefix, String number) {
		this.areaCode = areaCode;
		this.prefix = prefix;
		this.number = number;
	}
	
	public String toString() {
		return areaCode + prefix + number;
	}
	
}

3.PhoneEditor.java
import java.beans.PropertyEditorSupport;
public class PhoneEditor extends PropertyEditorSupport {
	public void setAsText(String textValue) {
		String stripped = stripNunNumeric(textValue);
		String areaCode = stripped.substring(0, 3);
		String prefix = stripped.substring(3, 6);
		String number = stripped.substring(6);
		PhoneNumber ph = new PhoneNumber(areaCode, prefix, number);
		setValue(ph);
	}

	private String stripNunNumeric(String original) {
		// TODO Auto-generated method stub
		StringBuffer allNumeric = new StringBuffer();
		for(int i = 0; i < original.length(); i++) {
			char c = original.charAt(i);
			if (Character.isDigit(c)) {
				allNumeric.append(c);
			}
		}
		return allNumeric.toString();
	}
}

4. Contact.java
public class Contact {
	private PhoneNumber phoneNumber;

	public void setPhoneNumber(PhoneNumber phoneNumber) {
		this.phoneNumber = phoneNumber;
	}

	public void seePhoneNumber() {
		System.out.println(phoneNumber);
	}
	
}


分享到:
评论

相关推荐

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    Struts2+maven+spring+mybatis整合实现注册功能实例

    在注册功能中,MyBatis的SQL映射文件将定义插入新用户的SQL语句,当Spring管理的Service层对象调用这些映射时,MyBatis会执行相应的数据库操作,将用户信息存入数据库。 Maven是项目管理和构建工具,它通过配置文件...

    maven+springmvc+spring+mybatis

    【标题】"maven+springmvc+spring+mybatis"是一个经典的Java Web开发技术栈,它结合了四个关键组件:Maven(项目管理工具),Spring MVC(MVC框架),Spring(核心框架)以及MyBatis(持久层框架)。这个组合在企业...

    maven+spring+jdbc+mvc项目整合

    【标题】"maven+spring+jdbc+mvc项目整合"是一个综合性的开发教程,它将四个关键的技术元素——Maven、Spring、JDBC和Model-View-Controller(MVC)框架融合在一个项目中,旨在帮助开发者理解如何在实际开发环境中...

    maven+spring MVC+Mybatis+jetty+mysql

    "maven+spring MVC+Mybatis+jetty+mysql" 的组合是常见的开发栈,它涵盖了项目管理、前端控制器、持久层操作、应用服务器以及数据库管理等多个层面。下面将详细介绍这些关键技术及其在实际应用中的作用。 1. Maven...

    使用Eclipse+Maven+Spring+CXF构建的WebService服务

    Web项目中基于Maven与Spring整合的WebService之cxf的实现⬇️ 详情请参考如下链接: https://locqi.github.io/locqi.com/2018/09/05/Eclipse+Maven+Spring+CXF-create-WebService/

    maven+spring+springMVC+mybatis

    maven+spring+springMVC+mybatis 框架搭建 Maven 是一个优秀的项目管理和构建工具,Spring 是一个广泛使用的 Java 框架,SpringMVC 是基于 Spring 的一个 Web 框架,MyBatis 是一个持久层框架。在这个项目中,我们...

    零配置Maven+Spring MVC4.2.4+Hibernate5.2.10

    零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10

    maven+spring+springmvc+mybatis

    在IT行业中,构建大型、模块化的Java Web应用时,开发者经常使用"Maven+Spring+SpringMVC+MyBatis"这一技术栈。这个技术组合提供了强大的项目管理、依赖注入、面向切面编程、Web层控制以及持久层操作的能力。下面...

    基于maven+spring+spring mvc+mybatis 框架web项目

    在IT行业中,构建Web应用程序是一项常见的任务,而“基于maven+spring+spring mvc+mybatis框架web项目”提供了一个适用于初学者的学习路径。这个项目利用了四个关键的技术组件,它们分别是Maven、Spring、Spring MVC...

    maven+spring简单实例

    在“maven+spring简单实例”中,我们主要探讨如何结合这两个强大的工具来创建一个简单的Java应用。首先,我们需要了解Maven的工作原理。Maven通过项目对象模型(Project Object Model, POM)来描述项目,并利用插件...

    maven+struts2+spring+mybatis+springMVC

    本项目"maven+struts2+spring+mybatis+springMVC"就是一个典型的Java Web应用开发组合,利用了这些框架的优势进行集成,实现了数据持久化、业务逻辑处理、视图展示以及依赖管理等多个层面的功能。 首先,我们来详细...

    maven+hibernate+spring+springmvc

    在IT领域,"maven+hibernate+spring+springmvc"是一个常见的技术栈,用于构建企业级的Java Web应用程序。这个技术组合涵盖了项目管理、持久层框架、应用上下文和依赖注入,以及Web MVC框架等多个核心部分。下面将...

    maven+springmvc+redis+mybatis整合

    本项目以“maven+springmvc+redis+mybatis整合”为主题,旨在提供一个基于这些技术的集成框架,特别强调了利用Redis作为缓存来提升应用性能。下面将详细阐述这个框架中的各个组成部分以及它们之间的协作。 首先,...

    Maven+spring+springMVC+mybatis 项目简单例子

    在IT行业中,构建Java Web应用程序是一项常见的任务,而"Maven+spring+springMVC+mybatis"是一个经典的组合,它们各自扮演着不同的角色,共同构建出高效、灵活的应用框架。让我们详细了解一下这些技术及其在项目中的...

    Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA

    在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...

    Maven+spring+spring MVC+Mybatis开发范例

    "Maven+Spring+Spring MVC+Mybatis"的组合是Java Web开发中非常流行的技术栈,它提供了全面的解决方案,涵盖了项目构建、依赖管理、应用层服务、表现层控制以及数据持久化等各个方面。下面将详细阐述这些技术及其在...

    SpringMvc+Spring+Mybatis+Maven+注解方式=整合

    "SpringMvc+Spring+Mybatis+Maven+注解方式"是一个经典的Java后端技术栈,它整合了四个关键组件,为开发人员提供了强大的工具和框架支持。下面将详细讲解这四个组件及其整合方式。 1. **Spring Framework**: ...

    Spring Boot+Maven+Spring Data JPA+apache Shiro+Easyui实现通用用户权限管理系统

    本项目基于"Spring Boot+Maven+Spring Data JPA+apache Shiro+Easyui",这些技术栈的选择旨在简化开发过程,提供强大的功能,并确保系统的安全性和用户体验。 1. **Spring Boot**: Spring Boot是Spring框架的简化版...

    基于spring boot + maven + opencv 实现的图像深度学习Demo项目.zip

    基于spring boot + maven + opencv 实现的图像深度学习Demo项目,包含车牌识别、人脸识别、证件识别等功能,贯穿样本处理、模型训练、图像处理、对象检测、对象识别等技术点。 基于spring boot + maven + opencv ...

Global site tag (gtag.js) - Google Analytics