- 浏览: 7935266 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
JAXB是个好东西,转换JAVA OBJECT到XML的,最近发现JAXB中对java.util.Date的转换有些要注意的地方,笔记之。
比如有一个POJO如下:
另外一个POJO,其中持有的是list类型的Company,如下:
这样通过spring mvc出来的XML会发现:
时间格式不对头,查阅了下,发现要继承XmlAdapter,重写其中的方法去对日期进行格式化,
然后在需要对日期处理的属性中,加入
@XmlJavaTypeAdapter ,即:
就可以生成合乎规格的信息咯,如下
比如有一个POJO如下:
import java.util.Date; public class Company { private int id; private String company; private double price;
另外一个POJO,其中持有的是list类型的Company,如下:
package com.loiane.model; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name="companies") public class Companies { @XmlElement(required = true) private List<Company> list; public void setList(List<Company> list) { this.list = list; } }
这样通过spring mvc出来的XML会发现:
@RequestMapping(value="/company/view.action") public @ResponseBody Companies view() throws Exception {}
<companies> <list> <change>0.02</change> <company>3m Co</company> <id>1</id> <lastChange>2011-09-01T00:00:00-03:00</lastChange> 。。 </list> 。。。。。。。 </companies>
时间格式不对头,查阅了下,发现要继承XmlAdapter,重写其中的方法去对日期进行格式化,
import java.text.SimpleDateFormat; import java.util.Date; import javax.xml.bind.annotation.adapters.XmlAdapter; public class JaxbDateSerializer extends XmlAdapter<String, Date>{ private SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy"); @Override public String marshal(Date date) throws Exception { return dateFormat.format(date); } @Override public Date unmarshal(String date) throws Exception { return dateFormat.parse(date); } }
然后在需要对日期处理的属性中,加入
@XmlJavaTypeAdapter ,即:
package com.loiane.model; import java.util.Date; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import com.loiane.util.JaxbDateSerializer; public class Company { private int id; private String company; @XmlJavaTypeAdapter(JaxbDateSerializer.class) public Date getLastChange() { return lastChange; } }
就可以生成合乎规格的信息咯,如下
<companies> <list> <change>0.02</change> <company>3m Co</company> <id>1</id> <lastChange>09-01-2011</lastChange> </list> 。。。。。。。。。 </companies>
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1564方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 2015前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3462info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2229import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 488https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 681public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 605https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 666https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 432https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 5341 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3094微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 611https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1840什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 960本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1358原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 854public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 667在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 935-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 767一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1903介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
3. **使用模块系统(Java 9+)**:如果你的项目已经迁移到了Java 9的模块系统,你可以通过`requires`语句在模块定义中明确声明对JAXB的依赖。例如,在`module-info.java`文件中添加: ```java module ...
`java.util.Calendar`和`java.util.Date`是早期的日期时间API,虽然现在推荐使用新的`java.time` API,但在许多遗留系统中仍然广泛使用。 3. **图像处理**:Java的`javax.imageio`包提供了图像输入/输出功能。`...
开发者经常会使用`java.util.StringUtils`(如Apache Commons Lang库中的)或`org.apache.commons.lang3.StringUtils`来扩展字符串操作,如空格处理、格式化、比较、替换等。 2. **日期时间**:`java.util.Date`和`...
import java.util.Date;import javax.xml.bind.annotation.adapters.XmlAdapter;public class DateAdapter extends XmlAdapter, Date> { private SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");...
此外,还有`java.util`包,提供了集合框架(如ArrayList、LinkedList、HashMap等)、日期时间处理(Date、Calendar)、线程管理(Thread)等功能。 2. **输入/输出流**:在`java.io`包中,Java提供了一套强大的I/O...
7. **XML处理**:Java 6增强了对XML的支持,包括SAX、DOM和StAX解析器,以及JAXB(Java Architecture for XML Binding),用于对象到XML的自动转换。 8. **安全管理**:Java 6的安全模型进行了强化,提供了更细粒度...
`java.util`包则包含了集合框架,如`ArrayList`、`HashMap`和`LinkedList`,以及日期时间类`Date`和`Calendar`。`java.io`包提供了输入输出流处理,如`FileInputStream`和`PrintWriter`。 2. **集合框架** 集合...
- **日期和时间API**:用`java.time`包替换了旧的`java.util.Date`和`java.util.Calendar`,提供了更直观的日期和时间操作。 - **方法引用和构造器引用**:简化了函数式接口实例的创建。 - **默认方法**:允许在...
- **java.util** 包:提供各种实用工具类,如集合框架(ArrayList、LinkedList、HashMap等)、日期/时间处理(Date、Calendar)以及枚举等。 - **java.io** 包:包含了输入/输出流相关的类,用于文件读写、网络...
5. 日期时间:java.util.Calendar和java.util.Date被增强,提供了新的java.time包,包含LocalDate、LocalTime、LocalDateTime等类,提供了更直观、易用的日期时间处理。 二、Swing和AWT Java SE 6.0对图形用户界面...
4. **日期与时间API**:`java.time`包替代了`java.util.Date`和`java.util.Calendar`,提供了更直观和易于使用的日期和时间API。 5. **默认方法**:允许在接口中定义带有实现的方法,增强了接口的功能性。 6. **...
日期和时间API的重大改革也是1.8的一个亮点,新引入的`java.time`包取代了过时的`java.util.Date`和`java.util.Calendar`,提供了更直观、更易用的日期和时间处理功能。另外,1.8还引入了默认方法,允许在接口中定义...
- Date/Time API的改进:用`java.time`包取代了过时的`java.util.Date`和`java.util.Calendar`,提供了更强大且易用的时间日期处理功能。 - Nashorn JavaScript引擎:允许Java程序直接执行JavaScript代码,促进了...
2. **java.util**:提供各种通用的数据结构(如List、Set、Map)和实用工具类,如Date、Calendar、Collections框架等。 3. **java.io**:处理输入输出,包括文件I/O、网络流、序列化等。 4. **java.net**:处理...
4. **新的日期/时间API**:`java.time`包取代了过时的`java.util.Date`和`java.util.Calendar`,提供了更直观和易于使用的日期和时间处理功能。 5. **Stream API**:增强了集合操作,提供了并行流和串行流,支持函数...
4. **日期和时间API**:新的java.time包替换了旧的java.util.Date和Calendar,提供了更强大且易用的时间日期处理能力。 5. **默认方法**:在接口中可以定义默认方法,允许不破坏向后兼容性的情况下增加接口的功能。...
本篇文章将详细讲解在Java中处理CSV、XML、JXL(JExcelApi)数据,以及DateUtil和DBUtil类的常见应用场景。 1. CSV(Comma Separated Values)处理: Java中的CSV处理通常通过第三方库,如OpenCSV或Apache Commons...
首先,`java.util.Date`是Java标准库中最基础的日期时间类。它代表了一个时间点,通常用来记录自1970年1月1日00:00:00 GMT以来的毫秒数。尽管`Date`类在Java 8之后已经被`java.time`包中的新API所取代,但在许多老...
以上工具类的使用都需要遵循一定的编程规范和最佳实践,例如,对于日期时间类,应避免使用已废弃的`java.util.Date`和`SimpleDateFormat`,而采用新API;在使用加密时,要确保安全性和合规性,遵循密码学原则;在...
- 日期和时间:使用java.util.Date和Calendar类,java.time包提供更现代的API。 2. **数组和集合**: - 数组是一维或多维的数据结构,集合是动态大小的对象集合,如ArrayList、LinkedList、HashSet和HashMap等。 ...