@JsonView注解的使用】的更多相关文章

我也是刚看到原来还可以这么玩,但是我还是习惯使用Dto,我总感觉这样做的话实体类耦合程度有点高.还是记录以下,万一今后用到了呢 ⒈在实体类中使用接口来声明该实体类的多个视图. ⒉在实体类的属性get方法上指定该属性在那个视图中呈现. package cn.coreqi.security.entities; import com.fasterxml.jackson.annotation.JsonView; public class User { public interface UserSimpl…
业务场景:比如说一个User对象,有两个字段,一个username,一个password,有一个获取用户信息的接口要返回这个User列表,但是不想要这个User列表的password字段. 还有一个接口要获取这个User列表,要全部字段. 解决场景:我们可以有多种方法,比如说获取list之后把user列表的密码全部设为空,然后再用其他注解来设置  为空的字段不显示 还可以在sql中就不查password字段. 但是  我们要介绍这个注解来实现这个功能.@jsonView 需要三步即可: 第一:用…
看到一个新的注解以前没有用过,记录一下使用方法. 注意是:com.fasterxml.jackson.annotation.JsonView @JsonView可以过滤pojo的属性,使Controller在返回json时候,pojo某些属性不返回,比如User的密码,一般是不返回的,就可以使用这个注解. @JsonView使用方法: 1,使用接口来声明多个视图 2,在pojo的get方法上指定视图 3,在Controller方法上指定视图 例子:条件查询时候不返回用户的密码,查看详情时候返回用…
1.User类 package com.imooc.model; import com.fasterxml.jackson.annotation.JsonView; /** * @author oy * @date 2019年6月22日 下午10:42:03 * @version 1.0.0 */ public class User { public interface UserSimpleView {}; public interface UserDetailView extends User…
http://blog.csdn.net/sdyy321/article/details/40298081 ************************************** 官方WIKI:https://github.com/FasterXML/jackson-databind/wiki jackson 1.x和2.x版本的注解是放置在不同的包下的 1.x是在jackson core jar包org.codehaus.jackson.annotate下 2.x是在jackson-da…
一.@JsonView注解的简介 @JsonView是jackson json中的一个注解,Spring webmvc也支持这个注解,它的作用就是控制输入输出后的json 二.@JsonView注解的使用步骤 1.使用接口来声明多个视图 package com.knyel.dto; public class User { public interface UserSimpleView {}; public interface UserDetailView extends UserSimpleVi…
准确来说,@JsonView注解不是Spring的,它位于jackson-annotation包中: 作用:SpringMvc使用@ResponseBody将结果以json返回客户端,  有些实体类的某些字段可以不被包括在JSON中: 思考了这种情况可能适用的情形:有多方调用这个接口,需要针对不同业务场景返回不同形式的JSON,但是这种情况的话 只拷贝需要的属性 再返回也能达到目的,就当多学了一种注解.处理方式了: 一.作为 Jackson Api使用: public class View {…
1.介绍Spring Web MVC 框架 Spring Web MVC 框架是围绕DispatcherServlet设计的,所谓DispatcherServlet就是将请求分发到handler,需要有配置好的handler映射.视图解析.本地化.时区.theme解决方案.还有上传文件的支持.默认的handler是基于@Controller和@RequestMapping注解.自Spring 3.0 起,@Controller注解还能用于RESTful,需要配合@PathVariable以及其他…
一.@Response使用条件 二. @Response在最小配置.jackson的jar包情况下,json中包含的日期类型字段都是以时间戳long类型返回 三. Jack序列化对象转为JSON的限制条件 四. @ResponseBody如何工作的 五. Spring偏底层记录. 六.参考文章 一. @Response使用条件 1.引入依赖jackson-databind 或者其他类型的json转换,比如gson.fastjson <dependency> <groupId>com…
介绍Spring Web MVC 框架 Spring Web MVC的特性 其他MVC实现的可插拔性 DispatcherServlet 在WebApplicationContext中的特殊的bean types 默认的DispatcherServlet配置 DispatcherServlet处理顺序 实现Controller 使用@Controller定义一个Controller 使用@RequestMapping映射requests 定义@RequestMapping handler met…
JavaWeb-RESTful(一)_RESTful初认识 传送门 JavaWeb-RESTful(二)_使用SpringMVC开发RESTful_上 传送门 JavaWeb-RESTful(三)_使用SpringMVC开发RESTful_下 传送门 项目已上传至github 传送门 Learn  一.实现一个成功的SpringMVC单元测试类 二.RequestParam注解: 三.JsonView注解 创建SpringBoot项目 传送门 [ 添加Spring Web Starter,Spr…
一.Jackson简介 Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象.Jackson所依赖的jar包较少,简单易用并且性能也要相对高些,并且Jackson社区相对比较活跃,更新速度也比较快. 特点: 容易使用 - jackson API提供了一个高层次外观,以简化常用的用例. 无需创建映射 - API提供了默认的映射大部分对象序列化. 性能高 - 快速,低内存占用,适合大型对象图表…
Spring框架之spring-webmvc源码完全解析 Spring框架提供了构建Web应用程序的全功能MVC模块.Spring MVC分离了控制器.模型对象.分派器以及处理程序对象的角色,支持多种视图技术,如JSP.Velocity.Tiles.iText和POI. Spring Web模型视图控制器(MVC)框架是基于Servlet功能实现的.通过实现Servlet接口的DispatcherServlet来封装其核心功能实现,通过将请求分派给处理程序,同时具有可配置的处理程序映射,视图解析…
工欲善其事,必先利其器. 脚手架选型 一年前,我接到为团队落地一个快速开发脚手架的任务. 在月底这节骨眼上,时间紧,任务急,有想自己撸一个脚手架的人都赶紧把这想法收起来吧!这劳民又伤身的事咱肯定是不能干的! 于是,我将目光放在了 Gitee Star比较靠前的开源项目上,这是当时调研的数据 Java Web 开发脚手架调研. 其中MCMS.lenosp.bootdo等项目,我们甚至已经有过项目落地经验,但最终我们还是选择了jeecg-boot,选择它的理由我们有这几点: 前后分离架构 当时我们正…
6.1.注解式控制器简介 一.Spring2.5之前,我们都是通过实现Controller接口或其实现来定义我们的处理器类.已经@Deprecated.   二.Spring2.5引入注解式处理器支持,通过@Controller 和 @RequestMapping注解定义我们的处理器类. 并且提供了一组强大的注解: 需要通过处理器映射DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter来开启支持@Controll…
一:任务 1.任务 常用的验证注解 自定义返回消息 自定义校验注解 二:Hibernate Validator 1.常见的校验注解 2.程序 测试类 /** * @throws Exception * 更新程序,主要是校验程序的验证 * */ @Test public void whenUpdateSuccess() throws Exception { //JDK1.8的特性 Date date=new Date(LocalDateTime.now().plusYears(1). atZone…
@JsonView是jackson json中的一个注解,Spring webmvc也支持这个注解. 这个注解的作用就是控制输入输出后的json. 假设我们有一个用户类,其中包含用户名和密码,一般情况下如果我们需要序列化用户类时,密码也会被序列化,在一般情况下我们肯定不想见到这样的情况.但是也有一些情况我们需要把密码序列化,如何解决这两种不同的情况呢? 使用@JsonView就可以解决. 看下面的简单例子: public class User { public interface Without…
@JsonView是jackson json中的一个注解,spring webmvc也支持这个注解. 这个注解的作用就是控制输入输出后的json. 假设我们有一个用户类,其中包含用户名和密码,一般情况下如果我们需要序列化用户类时,密码也会被序列化,在一般情况下我们肯定不想见到这样的情况.但是也有一些情况我们需要把密码序列化,如何解决这两种不同的情况呢? 使用@JsonView就可以解决. 看下面的简单例子: public class User { public interface Without…
1.@JsonAutoDetect 自动检测,(作用在类上)来开启/禁止自动检测. fieldVisibility:字段的可见级别 ANY:任何级别的字段都可以自动识别 NONE:所有字段都不可以自动识别 NON_PRIVATE:非private修饰的字段可以自动识别 PROTECTED_AND_PUBLIC:被protected和public修饰的字段可以被自动识别 PUBLIC_ONLY:只有被public修饰的字段才可以被自动识别 DEFAULT: jackson默认的字段属性发现规则如下…
1 MockMvc的使用 利用MockMvc可以快速实现MVC测试 坑01:利用MockMvc进行测试时应用上下文路径是不包含在请求路径中的 1.1 创建一个SpringBoot项目 项目脚手架 1.2 创建一个用户实体类 package cn.test.demo.base_demo.entity.po; import java.util.Date; /** * @author 王杨帅 * @create 2018-05-05 22:03 * @desc 用户实体类 **/ public cla…
一.json框架 市面上的json框架常用的有 jackson.gson.fastjson.大家比较推崇的是fastjson,但是springmvc默认集成的是 jackson. 在一个项目中建议一个项目只是用一种 json 框架. 二.json使用场景 1.mvc http传输的body虽然是json格式的,但实际还是以串字符串.我们使用对象接收需要进行json转换.同样,返回给浏览器时在解析成字json格式的符串. springmvc 支持多种 json框架,默认jsckson,想要修改ja…
同一个对象,在不同的场景,返回不同的属性,如getUserById返回User对象包含password值,而getAllUsers返回User集合,不包含password值(通过接口查看显示,序列化的时候直接忽略该属性,而非返回null),这些场景称为视图,使用JsonView: 三个步骤: 1.通过在对象中定义多个接口来定义多个视图(场景),注:子接口会把继承的父接口展示的属性也展示 2.在属性的get方法上指明视图(场景) 3.在controller方法上指定视图(场景) package c…
我在前面的文章中介绍了Spring MVC最核心的组件DispatcherServlet,DispatcherServlet把Servlet容器(如Tomcat)中的请求和Spring中的组件联系到一起,是SpringWeb应用的枢纽.但是我们在日常开发中往往不需要详细知道枢纽的作用,我们只需要处理枢纽分发给我们的请求.Spring中处理请求业务逻辑最常见的组件是Controller,本文会对Spring的Controller及相关组件做详细介绍. Controller的定义 Controlle…
一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...finally对异常进行处理,但是我们真的能在写程序的时候处理掉所有可能发生的异常吗? 以及发生异常的时候执行什么逻辑,返回什么提示信息,跳转到什么页面,这些都是要考虑到的. 二.基于@ControllerAdvice(加强的控制器)的异常处理 参考文档:http://jinnianshilongnian…
先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaBean 是不是一定完爆 xml方式? 未必.正所谓,仁者见仁智者见智.任何事物都有其优缺点,看你如何取舍.来看看注解的优缺点: 优点:大大减少了配置,并且可以使配置更加精细--类,方法,字段都可以用注解去标记. 缺点:使用注解,不可避免产生了侵入式编程,也产生了一些问题. 你需要将注解加入你的源码并…
前言: Annotation注解在Android的开发中的使用越来越普遍,例如EventBus.ButterKnife.Dagger2等,之前使用注解的时候需要利用反射机制势必影响到运行效率及性能,直到后来android-apt的出现通过注解根据反射机制动态编译生成代码的方式来解决在运行时不再使用发射机制,不过随着android-apt的退出不再维护,我们今天利用Android studio的官方插件annotationProcessor来实现一下自己的ButterKnife UI注解框架. 需…
前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不再维护该工具了,因为Android Studio推出了官方插件,并且可以通过gradle来简单的配置,它就是annotationProcessor,今天来学习一下如何将原来的android-apt切换到annotationProcessor. 什么是APT? APT(Annotation Proce…
1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能.我们可能会被问到,spring的注解到底是什么触发的呢?今天以spring最常使用的一个注解autowired来跟踪代码,进行debug. 2. Autowired的定义及作用 作用:Marks a constructor, field, setter method or config method as to be autowired by Spring's dependency injection facilities.…
建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类".工厂方法模式在我们的开发中经常会用到.下面以汽车制造为例,看看一般的工厂方法模式是如何实现的,代码如下: //抽象产品 interface Car{ } //具体产品类 class FordCar implements Car{ } //具体产品类 class BuickCar implements Ca…
只要一直走,慢点又何妨. 在使用MVC模式进行开发时,数据注解是经常使用的(模型之上操作),下面是我看书整理的一些常见的用法. 什么是验证,数据注解 验证 从全局来看,发现逻辑仅是整个验证的很小的一部分.验证首先需要管理用户友好(本地化)的与验证逻辑相关的错误提示消息:当验证失败时,在把这些错误提示消息呈现给用户界面上,当然还要向用户提供从验证失败中恢复的机制. 数据注解 注解是一种通用机制,可以用来向框架注入元数据,同时,框架不只驱动元数据的验证,还可以在生成显示和编辑模型的HTML标记时使用…