在Webservice项目中,对一个普通POJO定义需要进行序列化处理,以便给其他客户端使用。在Java端用Date类型时,往往使用java.sql.Date,这在进行XSD生成时报错
error: java.sql.Date does not have a no-arg default constructor
这说明JAXB无法正确的序列化java.sql.Date类型,常见的处理方法是改数据类型,改成java.util.Date。本文提供另外一种解决方式,那就是使用XML的Annotation,添加额外的Adapter来转换Date类型。
在需要使用java.sql.Date类型的那个方法上方添加@XmlJavaTypeAdapter,参数为Adapter实现类。
@XmlJavaTypeAdapter(SQLDateAdapter.class)
public Date getSomeSqlDate() {
return someSqlDate;
}
改Adapter实现类继承自XmlAdapter
import java.util.Date;
import javax.xml.bind.annotation.adapters.XmlAdapter;
public class SQLDateAdapter extends XmlAdapter<Date, java.sql.Date> {
@Override
public Date marshal(java.sql.Date v) throws Exception {
return new Date(v.getTime());
}
@Override
public java.sql.Date unmarshal(Date v) throws Exception {
return new java.sql.Date(v.getTime());
}
}
原帖地址:http://tangiding.com/archives/tag/webservice
分享到:
相关推荐
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一...
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一...
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一...
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...
Java原生态XML处理是Java开发中的一项基础技能,主要用于数据的序列化和交换。XML(eXtensible Markup Language)是一种可扩展标记语言,广泛应用于数据存储、配置文件以及网络数据传输等领域。在Java中,我们可以...
9. **Sun JAXB (com.sun.xml)**:Sun公司提供的JAXB实现,与javax.xml.stream一起,处理XML序列化和反序列化。 10. **Eclipse Persistence (org.eclipse.persistence)**:EclipseLink是Java EE中的JPA实现之一,...
通过JAXB,可以自动生成Java对象的XML映射,简化了数据的序列化和反序列化过程,从而高效地管理和操作用户数据。 4. **Servlet与JSP**:在JavaWeb开发中,Servlet用于处理HTTP请求,而JSP(JavaServer Pages)则...
2. Eclipse EMF(Eclipse Modeling Framework):这是一个开源的模型驱动开发框架,它提供了元模型的概念,可以帮助开发者创建、操作和序列化复杂的模型。EMF基于Java,支持元数建模的创建、导入、导出以及可视化...
- 在Java中,处理XML常用的库有JAXB(Java Architecture for XML Binding)、XStream、 JiBX 等,它们提供了序列化和反序列化XML的能力。 以上这些jar文件的集合,涵盖了Java开发中的多个重要领域,对于开发人员来...
- **Serialization**:支持对象的序列化和反序列化机制,便于对象的持久化和网络传输。 - **Networking**:提供了TCP/IP网络编程的支持,如Socket类。 - **Multithreading**:支持多线程编程,如Thread类和...
JSON-Jackson则用于JSON序列化和反序列化,便于前后端数据交换。 9. 搜索功能: Lucene和Solr都是基于Apache的全文搜索引擎。Lucene是核心库,提供了索引和搜索的基本功能;Solr在其基础上提供了更高级的特性,如...
例如,它可能包含对Java对象到JSON的序列化,通过使用Jackson或Gson等流行的库;对XML文档的解析和生成,可能使用了JAXB或DOM API;甚至可能涉及大数据处理,如Hadoop或Spark框架下的数据转换。 在Data_Converter-...
例如,序列化可以将Java对象转化为字节流并写入文件,然后在需要时反序列化。 7. **XML/JSON存储**:XML和JSON格式常用于存储和交换数据,Java有对应的解析库如JAXB(用于XML)和Jackson(用于JSON),可以帮助将...