`

Json & xml 注解 in springmvc

阅读更多

一.Json:

1.spring mvc 中使返回值为json,只需在controller中添加注解@ResponseBody

在model类内添加,@JsonAutoDectect会只解析字段名,不解释getter的方法名

重命名json 属性名,使用@JsonProperty("xxx")

 

2.Json排序,使用@JsonPropertyOrder(value={"code","message","status","result"}),使用字段名

 

3.空不显示:@JsonInclude(Include.NON_NULL)

 

 

 

二.XML:

1.使用@XmlRootElement(name = "XXXX") 会重命名根目录

 

2.@XmlElement将java对象的属性映射为xml的节点,在使用@XmlElement时,可通过name属性改变java对象属性在xml中显示的名称。如:

  @XmlElement(name="Address")  
  private String yourAddress;
 
3.@XmlAccessorType(谨慎使用),用于指定由java对象生成xml文件时对java对象属性的访问方式。常与@XmlRootElement、@XmlType一起使用。它的属性值是XmlAccessType的4个枚举值,
分别为:

  XmlAccessType.FIELD:java对象中的所有成员变量,即声明的变量名:name

    如: private String name;

  XmlAccessType.PROPERTY:java对象中所有通过getter/setter方式访问的成员变量:Name

    如:public String getName(){

         return this.name;

        }

  XmlAccessType.PUBLIC_MEMBER:java对象中所有的public访问权限的成员变量和通过getter/setter方式访问的成员变量

  XmlAccessType.NONE:java对象的所有属性都不映射为xml的元素

 

  注意:@XmlAccessorType的默认访问级别是XmlAccessType.PUBLIC_MEMBER,因此,如果java对象中的private成员变量设置了public权限的getter/setter方法,就不要在   private变量上使用@XmlElement和@XmlAttribute注解,否则在由java对象生成xml时会报同一个属性在java类里存在两次的错误。同理,如果@XmlAccessorType的访问权限   为XmlAccessType.NONE,如果在java的成员变量上使用了@XmlElement或@XmlAttribute注解,这些成员变量依然可以映射到xml文件。

 

 4.@XmlType

  @XmlType用在class类的注解,常与@XmlRootElement,@XmlAccessorType一起使用。它有三个属性:name、propOrder、namespace,经常使用的只有前两个属性。如:

    一般使用的是声明的变量名

    private String intValue;

  private String stringArray;

  private String stringValue;

@XmlType(name = "basicStruct", propOrder = {
    "intValue",
    "stringArray",
    "stringValue"
)
在使用@XmlType的propOrder 属性时,必须列出JavaBean对象中的所有属性,否则会报错。(注意有继承的子类,如果propOrder中有父类的字段,会报错)

 

 

参考:

1.Jaxb annotation初步使用

http://www.cnblogs.com/fragranting/archive/2012/03/25/xml--jaxb.html

2.用@XmlType的propOrder属性 来指定序列化的顺序

http://blog.csdn.net/hongtaq/article/details/8208997

 

分享到:
评论

相关推荐

    SpringMVC纯注解配置

    通过注解配置完全代替web.xml、Spring的xml文件配置,jquery递归遍历后台返回的json对象并进行拼接

    SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(下)

    NULL 博文链接:https://bijian1013.iteye.com/blog/2310240

    SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(上)

    NULL 博文链接:https://bijian1013.iteye.com/blog/2310236

    SpringMVC示例

    303数据校验、错误消息的显示及国际化、Ajax返回JSON、使用HttpMessageConverter、国际化_通过超链接切换中英文、文件上传、自定义的拦截器、拦截器的零Xml配置、异常处理(ExceptionHandler注解、 ...

    Spring、SpringMVC和Mybatis框架整合包

    但是,我们在实际应用中发现,SpringMVC可以完全替代Struts,配合注解的方式,编程非常快捷,而且通过restful风格定义url,让地址看起来非常优雅。 另外,MyBatis也可以替换Hibernate,正因为MyBatis的半自动特点,...

    SpringMVC环境下实现的Ajax异步请求JSON格式数据

    首先是常规的spring mvc环境搭建,不用多说,需要注意的是,这里需要引入jackson相关jar包,然后在spring配置文件“springmvc-servlet.xml”中添加json解析相关配置,我这里的完整代码如下: <?xml version=1.0 ...

    ssm_json_support

    @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json、xml等格式的数据并绑定到controller方法的参数上。

    SpringMVC Employee Demo

    driven配置、InitBinder注解、数据的格式化、JSR303数据校验、错误消息的显示及国际化、Ajax返回JSON、使用HttpMessageConverter、国际化_通过超链接切换中英文、文件上传、自定义的拦截器、拦截器的零Xml配置、异常...

    往届师兄师姐面试真题收集(Java相关岗位)

    可以通过注解或xml配置文件两种方式来使用。mybatis拥有一级缓存和二级缓存。 3、前端如何传数据到后端。在spring mvc中如何实现 前后端数据的互通是通过Ajax+Json技术实现的。springmvc框架封装了原生mvc,视图层...

    SpringMVC+Jquery实现Ajax功能

    Ajax:异步的JavaScript和Json(这里XML改为了Json); 作用:用于完成网页局部刷新功能(修改少量数据只用局部刷新,不用再整个网页重新加载); 二、SpringMVC和Jquery的简单介绍 SpringMVC:是基于Spring的一个子...

    springmvcdemo

    2. 解析json:json-lib.jar 3 URL Mapping: ControllerClassNameHandlerMapping 映射控制器 4 使用MultiActionController 5 所有service利用spring注入到controller中,利用注解 6 数据库连接串单独在properties文件...

    spring_MVC源码

    弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...

    eclipse + maven多模块项目 + SpringMVC + jetty热部署实现验证码图片实例源码

    并且基于Spring MVC提供了一个完整功能:实现了生成验证码图片,以及验证输入是否匹配的两个接口,接口为Rest风格,符合内容协商原则(同一资源,多种展现:xml,json,html)。 另外,演示了注解(Annotation)的用法,实现...

    Spring+Spring mvc+Hibernate+Bootstrap、企业级员工信息管理系统

    后台全注解式的开发(除了必要的spring和hibernate的xml配置以外) 03. 后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04. 系统前台采用全采用的Html+jQuery开发 05. 系统前台与后台的交互全部...

    spring mvc 3.2 参考文档

    您可以直接与基于呈现技术的模板 (如 JSP、 Velocity和 Freemarker )集成或直接生成 XML、 JSON、 Atom和许多其他类型的内容。模型map被转化为合适的格式,如JSP request attributes或是 Velocity template model。

    jackson2.7.4jar包

    使用springmvc4框架整合AJAX使用@ResponseBody注解返回JSON数据格式需要用到的jar包,jackson是用于java对象和json之间的转换

    report 开源的访问层中间件,基于java平台

    b)引入spring文件 spring/ankang-report.xml,web.xml依赖springMVC配置 c)继承ReportStart类, @Component//通过spring注入 可设置为单例 public class BusinessReportConfig extends ReportStart { @Override ...

    java微信公众号MVC开发框架

    微信公众号采用web服务作为消息与第三方平台发生交互,数据格式主要是xml和json,普通的web请求响应机制采用xml数据格式交互,微信接口服务采用json数据格式。jwx主要对这两个方面做了封装处理,另外借鉴springmvc的...

    firstFrame:springMVC + spring + mybatis-demo

    跑起来之后浏览器输入 localhost:端口号/test/doTest.do 控制台输出“注解成功”,页面展示json字符串就代表跑通了。{"flag":"Y","data":"XXXXXXXXXXXXXXXXX"}4.pom.xml 应该是最少的jar包引用,数据库用的sqlserver...

    Spring MVC 3.0实战指南.ppt

    输出XML和JSON 使用HttpEntity<T>/ResponseEntity<T> 目录 数据绑定机理 数据类型转换 PropertyEditor依然有效 强大的ConversionService,让很多梦想成真 基于ConversionService体系,定义自定义的类型转换器 格式化...

Global site tag (gtag.js) - Google Analytics