一.背景: 我们的接口为了统一,在ResponseBodyAdvice中对返回值做统一处理,默认添加了errorNo和errorInfo字段返回. 最近同事改接口代码的时候,发现接口返回值是空的.乍一看,没什么重大修改. 接口代码大致就是下面这个样子: @ResponseBody @RequestMapping("test") public void test(HttpServletRequest request, HttpServletResponse response){ // 业…
今天在重写springaop小demo时,发现调用接口时,可以在控制台上正常返回结果,但是页面报错,debug半天,可以看到是调用了modelview的时候出错,找不到视图了.. debug的时候控制台报如下错误 15-Nov-2018 14:15:14.250 信息 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializ…
在jdk的源码中,存在这样的一些接口,他们不包含任何的(抽象)方法,但是却广泛的存在. 这种接口我们称之为Mark Interface,也就是标记接口. 这些接口呢,我们不用来实现任何的方法,他们的作用就是当某个类实现这个接口的时候,我们就认为这个类拥有了这个接口标记的某种功能了. 下面通过三个例子,分别介绍java中常用的三个标记接口: RandomAccess .Cloneable.java.io.Serializable (1)RandomAccess  在C#中经常会有很多人在争论,在遍…
写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------这篇博客主要来谈谈"Java标记接口"的相关知识,主要内容包括: 1. 概述 2. Serializable 3. Cloneable 4. RandomAccess --------------------------------------------------------------------1.概述 Ja…
没有声明或定义方法的接口称为标记接口(Mark Interface).某个类实现该接口时不需要重写方法,表明具有接口标记的功能.Java中常用的3个标记接口如下: 1 Serializable java.io.Serializable接口用于标记类是否支持序列化.序列化指将Java对象转换成二进制字节码.如果一个类没有实现该接口,该类实例执行序列化操作,那么JVM会抛出NotSerializableException异常. 2 Cloneable Cloneable接口用于标记类是否支持克隆.如…
一.概述 标记接口是一些没有属性和方法的接口,也是一种设计思想.Java中的一个标记接口表示的的是一种类的特性,实现了该标记接口的类则具有该特性.如实现了Serializable接口的类,表示这个类的对象是可以进行序列化和反序列化的.Java中常见的标记接口还有Cloneable接口.RandomAccess接口和Remote接口.可以用 if(对象名 instanceof 标记接口名)检测一个类是否实现某个标记接口. 二.四个标记接口的浅析 1.java.io.Serializable标记接口…
写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------这篇博客主要来谈谈"Java标记接口"的相关知识,主要内容包括: 1. 概述 2. Serializable 3. Cloneable 4. RandomAccess --------------------------------------------------------------------1.概述 Ja…
很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过socket实现rpc,以及服务的注册和动态上下线.这里先上一篇RPC的实现者一webservice,便于后面理解源码执行过程,框架就是在原理的基础上提供更加便捷的使用而已,协议就是基于TCP或UDP之上,服务者和调用者之间约定消息按照什么样的格式发送以及解析罢了.协议没什么高深莫测的. 原文和作者…
一直以来做对外的接口文档都比较原始,基本上都是手写的文档传来传去,最近发现了一个新玩具,可以在接口上省去不少麻烦. swagger是一款方便展示的API文档框架.它可以将接口的类型最全面的展示给对方开发人员,避免了手写文档的片面和误差行为. 具体的说明可以看下:https://blog.csdn.net/i6448038/article/details/77622977  讲的很详细. swagger目前有两种swagger和swagger2,1比较麻烦,不考虑使用,本文主要记录我用swagge…
备忘录模式 Memento   沿着脚印,走过你来时的路,回到原点.     苦海翻起爱恨   在世间难逃避命运   相亲竟不可接近   或我应该相信是缘份   一首<一生所爱>触动了多少人的心弦,一段五百年都没有结果的爱情,让多少人潸然泪下. 有人说:当你真正看懂了<大话西游>,你就真的懂了爱情:那么,当你听懂了<一生所爱>,你就真的懂了什么是哀伤和无奈. <大话西游>是不可超越的经典,在<月光宝盒>中,至尊宝为了救白晶晶,使用月光宝盒使时光倒…
标识接口是没有任何方法和属性的接口.它仅仅表明它的类属于一个特定的类型,供其他代码来测试允许做一些事情.使用标记接口的唯一目的是使得可以用instanceof进行类型查询,例如:if(obj instanceof Cloneable) {………}       一些容器例如Ejb容器,servlet容器或运行时环境依赖标记接口识别类是否需要进行某种处理,比如serialialbe接口标记类需要进行序列化操作. java.io.Serializable:未实现此接口的类将无法使其任何状态序列化或反序…
添加jackson依赖 添加@ResponseBody 测试:  注意,如果输入中文,出现乱码现象,则需要@RequestMapping(value="/appinterface", produces = "text/json;charset=UTF-8") 原理: 当一个处理请求的方法标记为@ResponseBody时,就说明该方法需要输出其他视图(json.xml),SpringMVC通过已定义的转化器做转化输出,默认输出json. 其实是注解驱动帮我们做了这件…
-------------------siwuxie095 @ResponseBody 使用须知 使用 @ResponseBody 注解映射响应体 @ResponseBody 注解可被应用于方法上,标志该方法的返回值 应该被直接写回到 HTTP 响应体中去(而不会被被放置到 Model 中 或 被解释为一个视图名) 在实际开发中,返回 JSON 是最常见的一种方式,而 SpringMVC 提供了一种更为简便的方式输出 JSON(非 JSP 页面),那就是使 用 @ResponseBody 注解…
编写一个完整的TCP客户和服务器程序所需要的基本套接口函数: 1.socket函数(客户端.服务器端都必须调用) 参数family指明协议族(family),该参数也往往被称为协议域(domain).所以有的书上声明如下: 而且对于socket函数第一个参数,在不同书籍上可能会看到不同前缀的取值常量列表,如下两图所示: AF_xxx与PF_xxx: AF_前缀表地址族,PF_前缀表示协议族.历史上曾有这样的想法:单个协议族可以支持多个地址族,PF_值用来创建套接口,而AF_值用于套接口地址结构.…
JSP自定义标记(可以使JSP网页变得简洁并且易于维护) 一.自定义标记的方式 1.实现接口Tag 2.继承类TagSupport或BodyTagSupport   二.JSP自定义标记的生命周期 1.Tag接口标记的生命周期 2.IterationTag接口标记的生命周期 (在Tag的基础上增加了可重复处理本体内容的功能 int doAfterBody():实现的迭代功能,重复执行标记的本体内容,返回Tag.SKIP_BODY和IterationTag.EVAL_BODY_AGAIN TagS…
编程语言的发展 机器语言 过程语言 面向对象编程--封装.继承.多态 关键字 extends implements override overload super this static abstract super package(声明当前类属于哪个包) import(引用某个包里的某个类) 类.对象相关概念 public class HelloWorld { // {}中的是类体 public static String ClassVar; // 类变量/静态变量 public String…
添加jackson依赖 添加@ResponseBody 测试: 原理: 当一个处理请求的方法标记为@ResponseBody时,就说明该方法需要输出其他视图(json.xml),SpringMVC通过已定义的转化器做转化输出,默认输出json. 其实是注解驱动帮我们做了这件事情.…
概述 简单的说,接口提供一组公共的方法,不同的对象中继承这些方法后可以有不同的具体实现. 任何使用接口的类都必须实现这些接口. 实现解耦 解决多继承的问题 蓝图使用 使用方法 三种调用方法的区别 调用流关卡蓝图的接口函数 C++ 使用接口 本例使用一个Box Trigger 出发overlap 调用 Drone实例的接口 添加接口类 定义接口 声明蓝图可调用接口函数 用UFUNCTION 宏 BlueprintCallable 声明蓝图可调用,还必须使用 BlueprintImplementab…
#什么是json? json是一种用于储存数据格式,是js脚本语言的子集. #json的作用? 它可以传递对象.数组等数据结构.如果是单个数据,则要用数组,不用对象,因为对象都是键值对的 方式去存储,其形式为“名称:值”的形式,名称必须为字符串类型,而值可以为任意类型. json是用于数据交换的,浏览器与控制器之间进行数据交换,Spring提供了一个接口来完成该工作,并 用该接口的实现类来完成操作,该实现类要用jackson开源包来读写数据,并将java对象转换为json对象或 xml文档,也可…
本文注目录: Retrofit入门 Retrofit注解详解 Gson与Converter RxJava与CallAdapter 自定义Converter 自定义CallAdapter 其它说明 前言 本文中的Retrofit均指代Retrofit2.0.本文涉及到的代码以及测试使用的接口可在Github上找到.测试接口服务器在 server 项目下,直接运行 RESTServer.main() 即可启动测试服务器,所面代码示例均使用该接口(接口地址 http://localhost:4567/…
本文注目录: Retrofit入门 Retrofit注解详解 Gson与Converter RxJava与CallAdapter 自定义Converter 自定义CallAdapter 其它说明 前言 本文中的Retrofit均指代Retrofit2.0.本文涉及到的代码以及测试使用的接口可在Github上找到.测试接口服务器在 server 项目下,直接运行 RESTServer.main() 即可启动测试服务器,所面代码示例均使用该接口(接口地址 http://localhost:4567/…
为什么使用JSON进行数据交互? JSON数据格式比较简单.解析比较方便,在接口调用及HTML页面Ajax调用时较常用. JSON交互方式 请求是Key/Value,响应是JSON(推荐使用) 请求是JSON,响应是JSON 依赖包 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <ver…
1.filter,这是java的过滤器,和框架无关的,是所有过滤组件中最外层的,从粒度来说是最大的. 配置方式,有直接实现Filter+@component,@Bean+@configuration(第三方的filter) 2.interceptor,spring框架的拦截器 配置方式,@configuration+继承WebMvcConfigurerAdapter或WebMvcConfigurationSupport类添加过滤器. 继承WebMvcConfigurationSupport不需要…
1.Hello,World! 1.1.SpringBoot简介 回顾什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson . Spring是为了解决企业级应用开发的复杂性而创建的,简化开发. Spring是如何简化Java开发的 为了降低Java开发的复杂性,Spring采用了以下4种关键策略: 基于POJO的轻量级和最小侵入性编程,所有东西都是bean: 通过IOC,依赖注入(DI)和面向接口实现松耦合: 基于切面(AO…
开头 试想一下我们一般怎么统一处理异常呢,答:切面.但抛开切面不讲,如果对每一个controller方法抛出的异常做专门处理,那么着实太费劲了,有没有更好的方法呢?当然有,就是本篇文章接下来要介绍的springmvc的异常处理机制,用到了ControllerAdvice和ExceptionHandler注解,有点切面的感觉哈哈. 1.ExceptionHandlerExceptionResolver 首先从springmvc的异常处理解析器开始讲,当执行完controller方法后,不管有没有异…
导读:使用机智云提供的Open API(Http / WebSocket),可以快速开发网页或微信应用等基于html的轻应用,用于管理和控制智能设备.机智云 Open API 主要帮助开发者通过 HTTP 的方式维护用户.用户与设备之间的绑定关系,以及获取设备数据.发送控制指令给设备.   什么是机智云 Open API ? 机智云是一个开放的物联网设备平台,它为企业和个人开发者提供设备接入.用户账号管理.用户与设备绑定管理.设备远程监控.定时任务以及设备高级数据等服务. 这些数据都是存储在机智…
前言 PS. 本文只描述IT行业. 博客园果真人气比较高,我之前准备写个 "领域驱动系列",然后感觉大家不感兴趣,看来用的人不多,所以一直没动力续,但是昨天写了 [加班有罪] (http://www.cnblogs.com/cnblogsfans/p/4431160.html), 却收到了很多个赞,让我感到有点意外. 我今天看了很多评论,感觉很欣慰,大家其实对加班的看法和担忧其实都是正确的,但是很多人可能忽略了一些前提,如果盲目的下班就走,数着秒下班,那我写这篇文章就有罪了. 为什么加…
一.前言 前面分析了class文件具体含义,接着需要将class文件加载到虚拟机中,这个过程是怎样的呢,下面,我们来仔细分析. 二.什么是类加载机制 把class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是类加载机制. 三.类加载总体流程图 说明:类的整个生命周期分为以上七个阶段,验证.准备.解析统称为连接阶段.关于加载流程笔者之前也写过一篇文章JVM之类加载器,从代码层面了解类加载机制.下面我们将更加详细的讲解各个阶段,加载阶段只是类加…
webservice:    就是应用程序之间跨语言的调用    wwww.webxml.com.cn    1.xml    2.    wsdl: webservice description language web服务描述语言        通过xml格式说明调用的地址方法如何调用,可以看错webservice的说明书        3.soap simple object access protoacl (简单对象访问协议)         限定了xml的格式        soap…