1、面向接口编程 (1)概念 接口是一种规范,一个接口可以有多个实现,面向接口编程可以实现在不修改源代码(最好的方式是修改配置文件而不修改源代码,因为java代码需要编译,而配置文件不需要 )的情况下对功能进行切换。 (2)好处 解耦(耦合是指两种事物相互依赖的程度) 学过java的人都知道,jav ...
分类:
编程语言 时间:
2020-06-26 18:39:19
阅读次数:
89
启动过程分析: 与绝大部分starter一样, 使用spring.factories作为入口 org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.baomidou.mybatisplus.spring.boot.sta ...
分类:
其他好文 时间:
2020-01-03 10:30:00
阅读次数:
260
网上看了很多关于此异常的解决方案,但是大多数都是不能用的,今天把正确的解决方案记录下来,以帮助需要的人 问题:有些接口没有设置HttpPost或HttpGet,非接口设置访问权限为private,控制台可以看到报错位置为UserController.Info 接口正确示例: 非接口(方法)示例:(访 ...
分类:
Web程序 时间:
2019-12-09 21:18:25
阅读次数:
122
前言: 把之前做的一个基于Spring扩展Cglib的代理记录一下,防止记忆丢失。 Jdk动态代理是基于接口层的代理,但基于的类的代理只能通过字节码层面代理,在一个项目中,很多方法调用是基于类方法的调用,如果要加入代理,是很麻烦的事情,最简单的无非如下: 上面的代码就是通过new一个Cglib工具类 ...
分类:
编程语言 时间:
2019-12-05 11:37:51
阅读次数:
132
今天在写 的引介代理的时候,报了一个错: 大概的意思是类型转换错误。 源代码如下: 后来 了一下发现把代理方式改成 就行。 我们都知道 只能代理接口,对于非接口的类的代理,应该使用 。 因为 是通过继承代理类实现,而 是通过实现接口实现。 但是我这里 分明就是一个接口。后来仔细检查了代码,发现其实使 ...
分类:
编程语言 时间:
2019-11-09 00:33:33
阅读次数:
95
cglib动态代理相比于JDK动态代理的的优秀之处在于它是够实现非接口的动态代理,且提供了多种回调方式,这里就将callbackFilter和MethodInterceptor两种 被代理类 提供统一的回调方式,cglib的主要回调是MethodInterceptor接口,和用于创建动态代理的Enh ...
分类:
其他好文 时间:
2019-06-08 13:05:00
阅读次数:
85
前言 在Java中, 接口和抽象类为我们提供了一种将类的对外接口与实现分离的更加结构化的方法 。下面将介绍抽象类,它是普通的类与接口之间的一种中庸之道。然后再介绍接口。 抽象类和抽象方法 当我们仅是希望有 一个基类可以提供统一的接口去控制它导出的所有子类,并且该基类没有被实例化的必要 时,我们就可以 ...
分类:
编程语言 时间:
2019-02-21 00:05:46
阅读次数:
172
Oauth2.0 认证协议 Oauth2.0 应用场景: 微信联合登录 授权管理 互联网开放平台互相调用保证安全 微信提供api 给toov5调用 然后就可以获取一些微信的信息 比如微信头像 开放平台有 支付宝 微信 百度等等 不同的开放平台 对接的oauth2.0协议流程都是相同,无非接口地址不同 ...
分类:
其他好文 时间:
2019-01-25 11:36:29
阅读次数:
339
只要有一个方法操作的是类而非接口,那么你就只能使用这个类及其子类,如果你想要将这个方法应用于不在此继承结构中的某个类, 那么你就会触霉头,接口可以在很大程度上放宽这种限制,因此,我们可以编写可服用性更好的代码 ...
分类:
编程语言 时间:
2019-01-01 17:26:04
阅读次数:
247
CGLib实现动态代理区别于JDK动态代理,不需要目标类实现任何接口,是通过生成代理类子类的方式,而且据说速度要快于JDK动态代理。所以我想要试验一下CGlib的动态代理,网上找了些例子,自己动手写了一个Demo,运行时抛出以下异常 这个异常说明的很清楚,因为使用了CGlib的Enhancer类,这 ...
分类:
编程语言 时间:
2018-12-28 13:25:34
阅读次数:
288